J2EE vs. .NET - PowerPoint PPT Presentation

Loading...

PPT – J2EE vs. .NET PowerPoint presentation | free to view - id: 6cee78-NjQyM



Loading


The Adobe Flash plugin is needed to view this content

Get the plugin now

View by Category
About This Presentation
Title:

J2EE vs. .NET

Description:

J2EE vs. .NET An Executive Look Written by Sameh Younis http://www.netreverie.com/Article_J2EEvsNET.asp Overview An executive-level comparative analysis between ... – PowerPoint PPT presentation

Number of Views:11
Avg rating:3.0/5.0
Date added: 7 February 2020
Slides: 37
Provided by: Yug6
Category:

less

Write a Comment
User Comments (0)
Transcript and Presenter's Notes

Title: J2EE vs. .NET


1
J2EE vs. .NET An Executive Look 
  • Written by Sameh Younis
  • http//www.netreverie.com/Article_J2EEvsNET.asp

2
Overview
  • An executive-level comparative analysis between
    Suns J2EE and Microsofts .NET platforms.
  • Focus on the main issues that drive a successful
    IT strategy, which are collaboration and
    profitability. 
  • Present a high-level architecture comparison
    between the two platforms. 
  • Stick with the facts supported by references to
    third parties industry leaders, away from the
    vendors marketing propaganda.

3
Collaboration/Profitability
  • Collaboration it must achieve certain
    capabilities
  • Interoperability - the systems must be able to
    share information with collaborator systems.
  • Availability - systems must be highly available.
  • Throughput - systems must be able to support high
    transactional throughput.
  • Profitability  Overall system cost must be kept
    as low as possible. The most important factors
    are
  • Development Costs - the cost of architecting and
    implementing the system.
  • System Management Costs - the cost of managing
    the system.
  • Unit of Work Costs - the cost of processing a
    business transaction.
  • Scalability Costs - the cost of adding throughput
    to increase the customer base.

4
J2EE .NET Platform
  • J2EE a specification architected and controlled
    by Sun, and is not a product. IBM's WebSphere and
    BEA's WebLogic are the most widely1
    vendor/product implementation of J2EE.
  • Microsoft's .NET platform a family of products
    rather than specifications, with specifications
    used primarily to define points of
    interoperability.
  • J2EE and .NET (Gartner's2 - by 2003, 75 of new
    application projects based on .NET J2EE)
  • share a broad common foundation of standards
  • adopted the multi-tiered architecture approach
    that typically implements applications in
    different logical layers that distinct
    presentation from internal structure (business
    logic and data management).

5
Similarities b/w J2EE .NET Platform
  • Inherently object-oriented natures
  • the OO (Object Oriented) approach to mainstream
    enterprise computing, with powerful OO frameworks
    (class libraries) for services such as enterprise
    components management, object persistence, etc.
  • UML's object orientation is ideal for the J2EE
    and .NET implementation model.
  • The use of a virtual machine (VM) architecture
    Application development tools produce
    intermediate-level code instead of
    platform-specific binary code, which means the VM
    interprets that code in real time or performs
    Just-In-Time (JIT) compilation.
  • Share a broad common foundation that implements
    the multi-tiered approach. 

6
J2EE Platform
 
7
.NET Platform
                                                                                                                                    
 
8
Differences between J2EE and the .NET Platform
9
Vendor Neutrality
  • The .NET platform is not vendor neutral so far,
    it is tied to the Microsoft. 
  • However, Microsoft has implemented an open-source
    policy for selected academic institutions. 
  • introduced different levels of Partner
    Programs6 with different levels of engagements
    with its business and technology.
  • There is on going progress that started on 2003
    to port .NET to non-Microsoft platform, e.g.
    Ximian7. 
  • In 2002, over 37 vendors were J2EE licensees and
    17 sold J2EE compatible application servers8.
  • Cross-vendor portability for J2EE is definitely
    not the imaginary "write once, run anywhere"
    scenario9. This is due in part to its organic
    growth model, where vendors add their own
    features and other ex-tensions ahead of the J2EE
    specification10 process.
  • J2EE vendor portability can be achieved by
    focusing on the parts of J2EE that are fully
    covered in the J2EE specificationsuch as
    servletsbut doing so is currently very
    constraining and even impossible11. For
    example, EJB deployment dimensions aren't
    completely addressed in the J2EE
    specification12.

10
Platform Maturity
  •  The first J2EE specification came out in 1998
    and first beta product in 1999.
  • The first Microsoft .NET equivalent Microsoft
    DNA and MTS came out in 1996.  Microsoft .NET
    was the evolution of the Microsoft DNA, e.g. MTS
    to COM becomes an important piece of the .NET
    Enterprise Services.
  • Microsoft .NET have delivered high volume and
    high reliable web sites such as Reuters, NASDAQ,
    BMO Financial Group, DELL and many others13


11
Interoperability
  • Web services are rapidly becoming the unique
    solution for e-Collaboration. 
  • offer a self-describing, vendor- and
    technology-independent means of inter-application
    communication over the Internet.
  • Universal Description, Discovery, and Integration
    (UDDI) standards are owned by a consortium14
    led by Ariba, IBM, and Microsoft, and includes
    more than 100 supporting companies, including
    Sun.
  • independent of the .NET platform, however most of
    the UDDI related activity was pioneered by
    Microsoft.
  • Although that Sun is a member of UDDI consortium
    but UDDI standards are not incorporated into J2EE
    including the most basic of UDDI, i.e. SOAP 15

 
12
Interoperability (2)
  • Sun's interoperability strategy for J2EE is based
    on the communications protocol called IIOP
  • Only supports J2EE and CORBA, is not designed to
    transport over the Internet and
  • current specification of IIOP is inadequate to
    ensure interoperability16.
  • The .NET platform has a much stronger technology
    neutral e-Collaboration strategy than does J2EE.
  • the .NET platform have a set of application
    servers that supports other forms of
    e-Collaboration such as SAP connector, EDI
    connector and others17.

 
13
Scalability Performance
  • Scalability the ability to add more workload and
    achieve maximum throughput.  Its measurement is a
    function of the software platform and not the
    underlying hardware.
  • Performance the speed of a single unit of work
    under different workloads. Its measurement is a
    function of the software platform and not the
    underlying hardware.
  • All existing J2EE benchmarks - real systems may
    or may not be able to actually achieve. Because
    of the J2EE portability, it happens to run on
    different sets of hardware that should not be a
    factor in measuring platform scalability.
  • If a unit of work costs 10 cents on .NET
    platform, that same unit of work will probably
    cost 50 cents to a dollar on J2EE/Unix18.



14
Benchmark Testing Results
  • Sun released an enterprise application (Basic
    data-driven Web application) benchmark
  • XML Web service benchmark called PetShop to be
    the blueprint of the J2EE platform,
  • Microsoft implemented on the .NET platform - an
    extremely higher performance/scalability than the
    J2EE version. 
  • The Middleware Company19 announced that it was
    not a fair comparison rewrote second revised,
    and fully optimized J2EE application and re-ran
    the comparison tests. 
  • The new results show .NET performance
    scalability much higher than the J2EE
    implementation 20

15
 
 
16

 
17

 
18

 
19
Framework Productivity Tools
  • Framework support decreases development time and
    increases productivity by providing sets of
    libraries that takes care of system plumbing.
  • The .NET platform an eCommerce framework called
    Commerce Server21 (reduce development costs,
    probably by a factor of at least 10)
  • There is no equivalent vendor-neutral framework
    in the J2EE arena22.
  • The .NET Frame - a huge system libraries (called
    Namespaces) combined with the unique development
    tool (Visual Studio .NET) dramatically reduce
    development time and thus cost. 
  • J2EEs best development tool IBMs WebSphere is
    out of competition. 


 
20
Productivity
The Middleware Company23 benchmark tests shows
.NET superiority, for lines of code needed to
develop same enterprise application using these
development tools24.
21
Programming Language
  • J2EE supports Java, and only Java.
  • Although both IBM's WebSphere and BEA's WebLogic
    support other languages, neither does it through
    their J2EE technology.
  • two official ways in the J2EE platform to access
    other languages,
  • through the Java Native Interface
  • through CORBA interoperability
  • Microsoft .NET platform supports dozens of well
    known programming languages including Java25,
    and open to third-parties to add more .NET
    enabled programming languages.


22
Development Skills Required
  • In general
  • Java programmers are paid about 25 higher
    salaries than equivalent VB or Cobol
    programmers. 
  • This will increase the development cost for J2EE
    solutions over .NET. 
  • Also, retraining of existing VB or Cobol
    programmers on Java constitutes very high cost,
  • the other option will be outsourcing.


23
Portability
  • J2EE server applications supports operating
    system portability
  • stick with a given J2EE vendor and a given
    database vendor due to differences in vendors
    implementations extensions of the J2EE
    specification.
  • Microsoft .NET server applications only run on
    Windows Server operating systems.
  • Portability is not the path to Scalability.
  • The highest scalability is achieved by writing
    for a highly scalable platform and then
    leveraging that platform using the highest
    hardware possible.
  • Portability is beneficial to Independent software
    vendors (ISVs).


24
Client Device Independence
  • J2EE Java Applets/Microsoft ActiveX packages are
    packaged code that run in browser and
    automatically installed on client (if enabled by
    client)
  • J2EE Java Servlets and Java Active Pages /
    Microsoft Active Server Pages - the programmer's
    responsibility to determine the ultimate
    destination browser and how to generate HTML to
    best take advantage of that thin client system.


25
Client Device Independence (2)
  • This Java approach has problems
  • requires a lot of code on the presentation tier,
    since every possible client system requires a
    different code path.
  • difficult to test the code with every possible
    client system.
  • difficult to add new thin clients to an existing
    application, since to do so involves searching
    through, and modifying a tremendous amount of
    presentation tier logic.
  • The .NET approach
  • requires to write device independent code that
    interacts with visual controls.
  • It is the control, not the programmer, that is
    responsible for determining what HTML to deliver,
    based on the capabilities of the client device.
  • In the .NET Framework model, one can forget that
    such a thing as HTML even exists!

26
Legacy Integration
  •  J2EE provides legacy integration through
    multiple avenues26
  • The Java Message Service (JMS) to integrate with
    existing messaging systems.
  • Web services to integrate with any system.
  • CORBA for interfacing with code written in other
    languages that may exist on remote machines.
  • JNI for loading native libraries and calling them
    locally.
  • J2EE Connector Architecture (JCA). The JCA is a
    specification for plugging in resource adapters
    that understand how to communicate with existing
    systems, such as SAP R/3, CICS/COBOL, Siebel and
    others.

27
Legacy Integration(2)
  •  .NET provides legacy integration through
    multiple avenues
  • Host Integration27 Server 2000.
  • COM Transaction Integrator (COM TI) can be used
    for collaborating transactions across mainframe
    systems.
  • Microsoft Message Queue (MSMQ) can integrate with
    legacy systems built using IBM MQSeries.
  • BizTalk28 Server 2000 can be used to integrate
    with systems based on B2B protocols, such as
    Electronic Data Interchange (EDI). Also provides
    integration connectors to SAP, Siebel, Onyx, and
    J.D. Edwards, and more.

28
Software licensing cost
  • The cost of the licensing requirement to deploy
    J2EE is higher than deploying .NET solutions 29.

  .NET/Visual Studio .NET J2EE /IBM WebSphere 4.0
Estimated software purchase costs to deploy Web Services on a single server with full authenticated per-user access Total  5,998 USD Detail  1 x 8-CPU Application Servers to Host Web Services running Windows 2000 Advanced Server with .NET Framework _at_ 3999.00 per server 1 Internet Connector License _at_ 1,999 per server. Total  64,000 USD Detail  1 x 8-CPU Application Servers to Host Web Services running IBM WebSphere 4.0 Advanced Single Server Edition (on Solaris, W2k Or AIX) _at_ 8,000 per CPU
Estimated software purchase costs to deploy Web Services to a 4-server Cluster Total  23,992 USD Detail  4 x 8-CPU Application Servers to Host Web Services running Windows 2000 Advanced Server with .NET Framework _at_ 3999.00 per server 4 Internet Connector Licenses _at_ 1,999 per server. Total  384,000 USD Detail  4 x 8-CPU Application Servers to Host Web Services running IBM WebSphere 4.0 Advanced Edition (on Solaris, W2k or AIX) _at_ 12,000 per CPU
29
Taking the Decision J2EE or .NET
  • How important is the Time-to-Market for your
    business?
  • The most important way to speed time to market is
    to choose a Web services platform that allows
    rapid application development. This enables
    developers to write and maintain code quickly,
    lowering development time.
  • The .NET platform and development tools (Visual
    Studio .NET) has proven to have the lead over
    J2EE platform and development tools.
  • .NET is independent of client device, and allows
    for user interfaces to be rendered to alternative
    user interfaces without rewriting code.
  • .NET provides business process management and
    E-Commerce capabilities, which are not available
    in most J2EE implementations.

30
Taking the Decision J2EE or .NET
  • Is multi-vendor support an important
    consideration for your business?
  • Only one vendor supports .NET.
  • Multiple vendors support J2EE. However,
    cross-vendor portability for J2EE is definitely
    not realistic because vendors add their own Web
    service features and other ex-tensions ahead of
    the J2EE specification process.
  • To achieve multi-vendor support you will need to
    implement only the parts of J2EE that are fully
    covered in the J2EE specification, but doing so
    will constrain your development capabilities.
  • How many platforms you want your shop to
    supports?
  • .NET addresses Windows Servers platforms.
  • J2EE products are available on a wide variety of
    platforms.
  • Practically, you will stick with only one
    platform.
  • Windows Server platforms provide less cost in
    terms of hardware, software and on-going support.

31
Taking the Decision J2EE or .NET
  • Do you want to be restricted your shop to only
    one programming language?
  • J2EE specification only supports Java.
  • .NET supports dozens of well known programming
    languages.
  • Are you willing to replace or re-train all your
    staff?
  • To implement J2EE you will need to replace your
    non-Java programmers (costly) re-train them (very
    high cost) or outsource.
  • Are you willing to through out your previous
    software investments?
  • In most cases, its more cost effective to keep
    your current investments and continue development
    on your existing platform.

32
Taking the Decision J2EE or .NET
  • Is following industry standards, in terms of
    platform and interoperability, important to your
    business?
  • Both J2EE and .NET will become the industry
    standard for enterprise platforms, with equal
    market share by 200530.
  • Both J2EE and .NET supports legacy integration
    with a variety of systems , such as SAP R/3,
    CICS/COBOL, Siebel and others.
  • .NET fully supports UDDI and WDSL Web services
    standard, J2EE does not.
  • .NET fully supports SOAP in its Web services
    implementation, J2EE does not.
  • Are scalability and performance critical to your
    business?
  • .NET has proven to have higher scalability and
    performance31.

33
Full listing32 of equivalencies between J2EE
and the .NET platforms, also refer to Glossary
for explanation of technology terms.  
Service or Feature Microsoft .NET Platform Java 2 Enterprise Edition Platform
Language VB, C, C, Java, Jscript, Perl30 Java
OS Platform Runtime Windows - CLR Any JRE, JVM
Mobile Platform .NET Compact Framework Java 2 Micro Edition
GUI/In-proc Component .NET class JavaBeans
Server-side Component .NET, with COM services EJB
Persistent Objects ADO.NET DataSet EJB Entity Beans
Web Page Generation ASP.NET JSP
Code Behind ASP.NET Java Servlet
Relational Data Access ADO.NET JDBC, SQL/J
Hierarchical Data Access ADO.NET -None-
Queuing System.Messaging, MSMQ JMS
Asynchronous Invocation COM Queued Components Message Beans (EJB 2.0)
Eventing COM Events -Not specified-
Remoting SOAP/HTTP/DCOM RMI-over-IIOP
Naming ADSI JNDI
HTTP Engine IIS Apache
XML System.XML JAXP, JAXM, JAXB, JAXR
Web Services (.NET) XML Web Services Sun ONE, IBM, BEA, Oracle
Legacy Integration HIS (COMTI), BizTalk, MSMQ, WS JCA, JMS, WS, CORBA, JNI
Shared Context Passport The Liberty Alliance, JXTA
Security API System.Security JAAS
   
34
Conclusion
  • Choosing between J2EE and .NET is a strategic
    enterprise platform decision and should not be
    treated as only a tactical technology decision. 
  • There are clearly significant technical issues
    that must be analyzed but ultimately the decision
    should be made from understanding the business
    issues. 
  • The future impact of costs, flexibility and risk
    are significant and often outweigh the initial
    investment in one architecture or another.
  • Considering the total cost of ownership,
    development cost, application performance,
    current infrastructure and future business
    trends, Microsoft .NET is the platform of choice.

35
References
  • 1 According to a study by Cutter Consulting
    http//www.cutter.com.
  • 2 Gartner inc. http//www.gartner.com .
  • 3 Simplified architecture diagrams, for more
    details go to http//www.microsoft.com/net and
    http//www.sun.com/j2ee
  • 4 Appendix A of this paper Full listing of
    equivalencies between J2EE and the .NET
    platforms.
  • 5 Glossary of this paper Technology terms and
    abbreviations Description.
  • 6 Microsofts Partner Program
    http//www.microsoft.com/partner
  • 7 Ximian inc.s OpenLink Virtuoso to provide a
    consistent .NET common language runtime (CLR) and
    frameworks integration implementation across
    Windows, Linux, Mac OS X and UNIX. 
    http//www.Ximian.com
  • 8 Sun Microsystems http//www.sun.com
  • 9 Designing Enterprise Application with the
    J2EE Platform, by Rich Green, Sun Microsystems
    (page 9).
  • 10 Java 2 Platform Enterprise Edition
    Specification, http//java.sun.com/j2ee/
  • 11 Roger Sessions, ObjectWatch, Inc
    http//www.Objectwatch.com
  • 12 Building a Large, Integrated, Multi-EJB
    Server System by Paul Harmon.
  • 13 Microsoft .NET case studies
    http//www.microsoft.com/net/casestudies/
  • 14 UDDI consortium http//www.uddi.org  for
    specifications and list of supporting companies.
  • 15 Interview with IBM's Rod Smith, Vice
    President of Emerging Technologies, available at
    http//www-4.ibm.com/software/developer/library/w-
    int.html?dwzonews

36
References
  • 16 Building a Large, Integrated, Multi-EJB
    Server System by Paul Harmon, Architecture/e-Busi
    ness E-Mail Advisory http//www.cutter.com/consort
    ium/consultants/phbio.html
  • 17 Microsofts BizTalk server supports a wide
    variety of industrial interoperability
    http//microsoft.com/biztalk
  • 18 Please refer to Implementation Cost
    section of this document.
  • 19 The Middleware Company http//www.middlewarec
    ompany.com/
  • 20 Full documentation of the test and results
    can be found at the Middleware Company web site4
    or direct accessed at http//www.gotdotnet.com/tea
    m/compare/Middleware.pdf
  • 21 Microsoft eCommerce site http//www.microsoft
    .com/commerce
  • 22 Java 2 Platform Enterprise Edition
    Specification, http//java.sun.com/j2ee/
  • 23 The Middleware Company http//www.middlewarec
    ompany.com/
  • 24 Full documentation of the comparison can be
    found on Middleware Company web site18 or direct
    accessed at http//www.gotdotnet.com/team/compare/
    Middleware.pdf
  • 25 Microsofts implementation of Java is the
    .NET J http//www.microsoft.com/jsharp
  • 26 Sun partners and solutions
    http//solutions.sun.com/
  • 27 Microsoft Host Integration Server 2000
    http//www.microsoft.com/hiserver/
  • 28 Microsoft Biztalk server 2000
    http//www.microsoft.com/biztalk
  • 29 Source Developer community
    http//www.gotdotnet.com/team/compare/webserviceco
    mpare.aspx , Microsofts MSRP http//www.microsoft
    .com , IBMs MSRP http//www.ibm.com
  • 30 Gartner inc. http//www.gartner.com.
  • 31 See Scalability and Performance section of
    this paper for benchmark results.
  • 32 Source My updated list to the
    StraussStrategy Consulting Systemslist at 
    http//www.s-strategy.com
About PowerShow.com