550 likes | 736 Views
Rob Clark Director, Product Management Oracle Application Server J2EE & Web Services Oracle Corporation. J2EE and .NET: An Objective Comparison. Presentation Goal. Evolve and Define Our Manifesto We Believe in Choice We Believe in a Heterogeneous World We Believe in Competition
E N D
Rob Clark Director, Product Management Oracle Application Server J2EE & Web Services Oracle Corporation
Presentation Goal • Evolve and Define Our Manifesto • We Believe in Choice • We Believe in a Heterogeneous World • We Believe in Competition • We Believe in Open Standards • We Believe in Platform Neutrality • We Believe in the Community Process
Agenda • Evolution • Software Architectures • Component Models • .NET Strategies • Presentation Layer • Co-existance • Domination • Complexity & Abstraction • Today’s Architectural Reality • Understanding the Comparison
Agricultural • Mechanical • Manufacturing • Transport • Communication • Electrical • Computing • BioTech • NanoTech
Mainframes • Minis • Desktops • Networks • Internet • Pervasive • Wearable • Grids
Evolutionary Flow Manage All Your Everything Green Screen Mainframes / Minis
Evolutionary Flow Manage Data & Data Logic Manage Program & Business Logic Rich Windows Client Database Server PC Desktop / Workstation
Evolutionary Flow Manage Your Content & Applications Manage OS & Program Logic Manage All Your Data Browser & Productivity Applications Clients Database Server Application Server
Evolutionary Flow Presentation Layer Business Logic Data Standards Device DisconnectedProductivity heterogeneous, loosely coupled
Component Model Evolution Web Services Univ. Types (XML) Components (Java2TM & .NET) Server Extensions (CGI, ISAPI, NSAPI) Standard Protocol (HTTP) Loose Coupling (MOMs - WANs) Interfaces (CORBA- LANs) RPC (DCE - LANs) Encapsulation (Sub-Routines and Procedures) 1975 1980 1985 1990 1995 2000 2005
What’s the Next Logical Step?Web Sites to Web Services Browsers HTML Web Presentation EJBs BusinessLogic XML Databases Firewall External Applications Application Server Why is this so important?
The .NET Strategy Public UDDI Registry / Passport SOAP SOAP external firewall IIS WSDL ASP.NET Sharepoint Security Login Server / Passport SOAP internal firewall BusinessLogic .NET J2EE AD data firewall SQL SERVER ORACLE
Coexistence Manifesto • Open Application Server Platform • J2EE • Interoperate, Enhance, Migrate • Make .NET Secure • Keep .NET Departmental • Protect Your Investment
The Productivity Sacrifice • .NET • Internally Proprietary • Externally Open • VS.NET Perceived Productive • J2EE • Internally & Externally Open • Portable • Perceived Complex & Difficult
The Cost Comparison • .NET • Microsoft Controls the Price • Microsoft Are Often Giving It Away • Purchase the OS, Server and Tools From One Vendor • J2EE • At Least 30 Different Vendors • Purchase OS, Server and Tools From Many Vendors • Price Points From Free to Price Competitive to Microsoft and Beyond
Marketing & The Maturity Paradox • .NET • First Release – 2001 • Business Strategy • Massive Platform Marketing Budget • J2EE • First Release – 1998 • Community Process • Vendor Brand Marketing
Technology Drivers for J2EE and .NET • Internet Is Ubiquitous • All Users, Information, Applications On Internet • Internet Becomes Programmable • Applications Conform to Service-Oriented Architecture • Services are Seamlessly Integrated • To Automate Business Processes • Services Becomes Accessible Ubiquitously • Anytime, Anywhere, Any Device via Portals • Services Use Resources On-Demand • Network, Storage, CPU, OS Resource Virtualized to Grids
The Technology Vision Platform Collaboration Best of Breed Applications Enterprise Management Management Tools Development Tools IDE Application Platform APS Information Platform Enterprise Management Grid Services Resource Virtualization Cluster Services Networked (SAN, NAS) Storage 32-Bit, 64-Bit (IA, RISC) Processor TCP/IP, 1000-BaseT Fast Interconnects Network
SOA Infrastructure Platform IDE & Personal Productivity PRODUCTIVITY TOOLS Provisioning, Monitoring & Management MANAGEMENT INFRASTRUCTURE PKI Svcs, ID Mgmt Svcs, Federation, Directory & Metadata Content Mgmt, Multichannel, Portal, Personalization Integration, BPM, BAM SOA Runtime SERVICES INFRASTRUCTURE Transactions, Messaging, Naming, Connectors, Metadata Mgmt., Registry Cluster & GRID Services Process, Memory, Resource Mgmt. Topology and Policy Mgmt. RESOURCE INFRASTRUCTURE Network, Disk I/O, Protocol Mgmt.
open source IIS Apache community process J2EE .NET Oracle 9iAS Windows 2003 Windows, Linux, Solaris, HP-UX, Tru-64, AIX, OpenVMS Windows 2003 32 bit or 64 bit Intel, RISC … Intel Only white box black box Logical Architecture Comparison NetworkEdge Framework Application Server Operating System Hardware Platform
Black Box vs. White Box • Application Servers Should NOT be in O/S • Vendor Competition • O/S and Hardware Independence • Undocumented Features • Back Doors • Patches and Upgrades • Free Reference Architectures • Proven Community Design Patterns
What is 1° of Separation? • Basic .NET Vision: • Tightly Integrate All Fine Grained Components and Languages at Runtime • Loosely Integrate Heterogeneous Applications With XML Web Services • Communicate Via XML • Smart Client Not Just Browser to Server • Make MS Pivotal in the Architecture
JDBC, JMS, JCA Data Browser HTML, XML JDBC JMS JCA anyhttpserver ServletorJSP HOME EntityBean HTTP REMOTE Device RMI/IIOP Security Containers Session Bean Transactions Concurrency Context App Server EJB Server JVM ADO.NET Data Browser HTML, XML IIS ASP.NET ManagedObject HTTP .NET Rem. Device ADO.NET Security ManagedObject Transactions Concurrency CLR Context
Architectural Comparison Architectural Layer J2EE .NET JSP/Servlets Java Foundation/Swing Web Services ASP.NET Windows Forms Web Services Presentation and Access Session EJB Entity EJBMessage Driven Beans NET Managed Component COM+ Queued Component Business Logic JCA JDBC/SQLJ JMS SOAP ADO .NETODBC .NETOLE DB .NET SOAP Connectivity Java Runtime Engine (JRE) Common Language Runtime Runtime
.NET is a Business Model • XML Web Services Sells • Smart Clients • Microsoft Servers • Developer Tools
Windows Lock-in MS Own Perceived Weaknesses Marketing Campaign Enterprise Pain Points Deconstructing Microsoft’s View? • Run Existing and Forthcoming .NET Framework Applications • Richer End-User Experiences • Improved Reliability • Increased Performance • Stronger Security • Ease of Deployment • Maximum Scalability • Integration with Existing Systems • Improved Support for Instrumentation • Easy, Flexible Management http://msdn.microsoft.com/netframework/productinfo/topten/admins.asp - 14 August 2002
J2EE vs .NET The Product Paradox Application System Initial flawed steps to “specification” ECMA and Project Mono
More Realistic Comparison: Platform to Platform Feature Oracle Microsoft Component Model J2EE .NET Application Server Oracle9iAS Windows Server 2003 Database Oracle9i Database SQL Server Development Oracle9i JDeveloper Visual Studio .NET Portal Oracle9iAS Portal Sharepoint Portal Server Content Oracle Internet File System Content Management Server Integration Oracle9iAS Integration Biztalk Server Mobile Oracle9iAS Wireless Mobile Information Server Cache Oracle9iAS Web Cache ISA Server Business Intelligence Oracle9iAS BI Commerce Server (Crystal)
Three Key Differentiators • Open Community Model • One Language Many Platforms • API & Development Model, Free Reference Implementation, Proven Design Models • Business Model • Any Language One Platform • Fragmented Badged Product Stack
Protect &Survive Talking to Your CTO
Key Facts : Investment Protection • Open Standards • Portability of Solution Between Vendors • Operating System Independance • Hardware Platform Independance • Scale Up, Scale Out • High Power Proprietary Machines • Commodity Hardware, Commodity OS • Heterogeneous Environments • Ability to Negotiate with Suppliers
Key Facts : Operating Systems • Open Middleware • Same Application Deploy on any Platform • Linux Growing as Secure Commodity Platform • Hardened Linux • Full Support on • Windows • Secure Enterprise Deployments Typically Target • Solaris • HPUX • AIX • TRU64 • OpenVMS ……
Key Facts : Hardware Platforms J2EE on Any OS All Major Unix / Mainframe Solaris, AIX, HP-UX, Tru64 OpenVMS, zLinux Windows Linux In Any Configuration 64 Bit OS 32 Bit OS On Any HW Architecture SMP 4,6,8,12,6,32 CPUs Blades Racks 1-2 CPUs With Zero Application Code Change
Key Facts : Productivity : Lifecycle • Stack Management & Support • Upgrade Cycle, Patching & Certification • Testing Strategies • Software Configuration Management (SCM) • Black Box vs White Box • API Reference Models • Framework Documentation • Stability and Risk • Software Licensing Agreements
Key Facts : Productivity : Tools • J2EE Has Best of Breed Tools • Eclipse • JBuilder • Macromedia DreamWeaver MX and UltraDev • Rational Rose and TogetherJ • JDeveloper • Sitraka JProbe, Mercury LoadRunner …. • Design Patterns • Struts, ADF, MVC, Wakesoft • O/R Mapping Layers • Toplink, Cocobase
Summary • Complex Debate : Understand What to Compare & How -: RELIGION • Plausible Benchmarks Do Not Exist for the Choice -: MARKETING • Understand Your Environment-: EVOLUTION • Watch the Emerging Interoperability Story -: REALITY • Surveys Point to an Interesting Result-: WIN THE PRESENTATION TIER