gavi's picture
From gavi rss RSS  subscribe Subscribe

CORBA vs J2EE vs Microsoft Technologies 



 

 
 
Tags:  CORBA  J2EE  Microsoft 
Views:  9728
Downloads:  242
Published:  August 11, 2007
 
6
download

Share plick with friends Share
save to favorite
Report Abuse Report Abuse
 
/* */
Related Plicks
Microsoft .Net vs. J2EE

Microsoft .Net vs. J2EE

From: emily
Views: 5015 Comments: 1

 
J2 Ee Vs. .Net Workshop

J2 Ee Vs. .Net Workshop

From: agian88
Views: 419 Comments: 0
J2 Ee Vs. .Net Workshop
 
Comparing J2EE with .NET

Comparing J2EE with .NET

From: gavi
Views: 3700 Comments: 0

 
Ronald Lee.doc.doc

Ronald Lee.doc.doc

From: carter80
Views: 91 Comments: 0
Ronald Lee.doc.doc
 
Achieving Interoperability: .NET and J2EE

Achieving Interoperability: .NET and J2EE

From: gavi
Views: 3402 Comments: 0
Interoperability fundamentals
Comparing the stacks
Why interoperate?
Common scenarios for interoperability
Dealing with complex data types (more)

 
Advanced CORBA(R) Programming with C++

Advanced CORBA(R) Programming with C++

From: anon-389805
Views: 335 Comments: 0
Advanced CORBA(R) Programming with C++ ,aip library, girard free library, storm wind library map, elementary library lesson plans
 
See all 
 
More from this user
Microsoft Office Business Scorecard Manager 2005

Microsoft Office Business Scorecard Manager 2005

From: gavi
Views: 3229
Comments: 0

C# Vs Java

C# Vs Java

From: gavi
Views: 2988
Comments: 0

Google Earth

Google Earth

From: gavi
Views: 4532
Comments: 1

Comparing J2EE with .NET

Comparing J2EE with .NET

From: gavi
Views: 3700
Comments: 0

flash

flash

From: gavi
Views: 1888
Comments: 0

Evolution Of Soa - Gartner

Evolution Of Soa - Gartner

From: gavi
Views: 3787
Comments: 0

See all 
 
 
 URL:          AddThis Social Bookmark Button
Embed Thin Player: (fits in most blogs)
Embed Full Player :
 
 

Name

Email (will NOT be shown to other users)

 

 
 
Comments: (watch)
plicker su wenwen (2 years ago)
good
 
 
Notes:
 
Slide 1: CORBA vs J2EE vs Microsoft Technologies CSCI3007 Component Based Development Downloadable *.ppt file
Slide 2: Reprise: Why Standards are Important  Maximum reuse is achieved by ‘outsourcing’ everything but the prime functionality offered by the component  OO programming styles bends in this direction  But this leads to a greater number of context dependencies which make the component more complex to use  Different platforms, environments, version mixes etc.
Slide 3: “Maximizing Reuse Minimizes Use” Optimal “sweet spot” –can be pushed towards lean components if context is standardized Leanness 0% % reuse (outsourcing) Strong functional cohesion – limited “fat” Robustness 100% Limited context dependencies – “stability”
Slide 4: Component Standards  Underlying each component standard is a ‘component model’   Defined set of services that support the software Set of rules that must be obeyed to take advantage of the services No need to design the infrastructure Remote access, transactions, persistent storage, security Typically services are used by configuring, not programming  Simple programming model   Services include:  
Slide 5: Three Standards for CEE’s   Component Execution Environments (CEEs) are typically based on one of (or possibly a mix of): CORBA standards   CORBA 3.0 CORBA Component Model J2EE Enterprise Java Beans Java Remote Method Invocation (JRMI) .NET (announced 1999) which replaces   Java Technologies     Microsoft Technologies  COM +  DCOM, DNA
Slide 6: CORBA standards  Common Object Request Broker Architecture (CORBA)  defined and managed by the Object Management Group (OMG) OMG’s Interface Definition Language (IDL)   Chief aspects  Describes how business functionality is accessed through interfaces Describes programming models for CORBA components N.B. Regards EJB as a subset of CCM Allows different Object Request Brokers (ORBs) to interoperate  CORBA Component Model (CCM)    Internet Interoperability Protocol (IIOP) 
Slide 7: Simplified CORBA architecture Client IDL stub Server IDL skeleton Dynamic Invocation Stub ORB “software bus” Dynamic Invocation Skeleton Object adapter ORB
Slide 8: CORBA IDL Example Module Flight_Reservations { interface bookings { exception Invalid_seat (SEAT where;); exception Already_booked(SEAT where;); exception NotBooked (SEAT where;); readonly attribute string name; readonly attribute unsigned short row_count; readonly attribute unsigned short seats_per_row;
Slide 9: CORBA IDL example (cont.) { short free-seat-count(); SEATS available_seats( ); PRICE get_price (In SEATS requested-seats) raises (Invalid_seat); boolean make_Booking (in SEATS requested) raises (Invalid_seat,Already_booked); boolean cancel_booking (in SEATS requested) r aises (Invalid_seat,Not_booked); } }
Slide 10: CORBAServices   An additional set of services is defined in the CORBAServices standards. Services common to most implementations include:  Lifecycle services  Control the creation and release of component instances Allow identification and sharing of service instances Provide privacy of connection between client and server Allow user to control start and completion of distributed transactions across components  Naming services   Security services   Transaction Services 
Slide 11: COM+   COM+ is a collective name for Microsoft’s component standards prior to .NET Defined in two parts  Distributed Component Object Model (DCOM)  Provides inter-component communication Provides additional categories of component infrastructure services  Distributed Internet Applications (DNA) 
Slide 12: DCOM  DCOM (“COM on the wire”) has three aspects:  The Microsoft Interface Definition Language (MIDL)  Defines the packaging of business functionality for external access through interfaces Describes how components can make requests of each other Supporting location transparency of component access across a network  Component Object Model (COM)   DCOM additions to COM 
Slide 13: COM Model   Every component has a unique identifier determined by statistical algorithm Every component provides a set of interfaces   Every interface is a set of operations Some operations supported by every component (from the Unknown interface)  QueryInterface( ) Release( ) 
Slide 14: COM IDL example [object, uuid (45Df3F45B0-DB76-11d1-AA060400521510F1}] interface IComputeSalesTax, IUnknown { import “unknwn.idl” HRESULT Calculate ([in] long sales_amount, [in] long origin_post_code, [in] long destination_post-code, [out, retval] long sales_tax }
Slide 15: DNA  Additional component infrastructure services provided by two products  Both use of packaging and distribution services Provides security, transaction management services Provides support for asynchronous communication between components via message queues  The Microsoft Transaction Server (MTS)   The Microsoft Message Queue (MSMQ) 
Slide 16: Comparison of CEE’s Java Protocol JRMI utilizing Java Remote Method Protocol (JRMP) Home, Remote CORBA IIOP COM+ Object Remote Procedure Call (ORPC) Multiple Interfaces Middleware Component Model Implementation Home, Remote,Service, Metadata CCM (in CORBA 3.0) Binds to any conforming implementation EJB MTS Java only Language neutral
Slide 17: Comparison  Java technologies  ONE LANGUAGE, MANY PLATFORMS    Utilise “write once, read everywhere” philosophy of Java Must be implemented in Java EJB standard a subset of CCM since April, 1999  CORBA  MANY LANGUAGES, MANY PLATFORMS   Vendor-neutral specification Dominates infrastructural “backbone” of distributed services  COM+  MANY LANGUAGES, ONE PLATFORM    Binary specification, language-neutral Dominates desktop Centre of gravity is Windows environment
Slide 18: The .NET Challenge  .NET is Micosoft’s new development platform    Announced in 1999 First products in 2000 Designed to REPLACE COM+   Throws away the “binary component” model Permits programmer customisations   Rewrites DNA Targets web services  i.e., the Java market Radically challenges the idea of components as “interface + implementation” which was common to all prior CEEs  Permits mixing of form and content in language-neutral way 
Slide 19: The .NET framework .NET platform, Visual Studio.NET, C# etc., ADO+, XML, SOAP Common libraries, Frameworks, ‘# components’ Web Services Interchange, persistence Reusable Components Common Language Runtime
Slide 20: .NET Library Examples System.Collections System.Globalization System.Net System.Reflection System.Web.UI.WebControls System.WinForms System.Drawing.Design ArrayList,bitArray,Dictionary,Hashtabl e, Queue, SortedList, Stack etc. Calendar,NumberFormatInfo, RegionInfo etc.. WebRequest,WebResponse,TopClient ,TcpListener,UdpClient,Sockets etc. Assembly, ConstructorInfo, FieldInfo, MemberInfo etc. AdRotator, BorderStyle, DataGrid, Hyperlink, ListBox etc., Button, Checkbox, Form, ListBox etc., BitMapEditor, DrawingToolboxItem, FontEditor
Slide 21: Sample .NET Code (1) using System; public class Demo { public static void Main ( ) { COBOLClass DerivedObject = new COBOLClass(); CSharpClass BaseReference = DerivedObject; Console.WriteLine (BaseReference.Factorial (4)); Console.WriteLine (“Done!”): } } Demo.cs a c# class The Fujitsu COBOL class COBOLClass is defined two slides further on The c# class CSharpClass is defined on the next slide
Slide 22: Sample .NET Code (2) public class CSharpClass { public virtual int Factorial (int x) { int value = 0; for (int = I;I ,=x; ++i) value = value + i; return value; } }
Slide 23: Sample .NET Code (3) CLASS-ID. COBOLClass INHERITS CSharpClass. ENVIRONMENT DIVISION. CONFIGURATION SECTION. REPOSITORY. CLASS CSharpClass OBJECT. PROCEDURE DIVISION. METHOD-ID. Factorial OVERRIDE. DATA DIVISION. WORKING-STORAGE SECTION. 77 COUNTER PIC S9(9) COMP-5. LINKAGE SECTION. 77 OPERAND PIC S9(9) COMP-5. 77 RETURN-VAL PIC S98(9) COMP-5. PROCEDURE DIVISION USING BY VALUE OPERAND RETURN-VAL. MOVE 1 TO RETURN-VAL. PERFORM VARYING COUNTER FROM 1 BY 1 UNTIL COUNTER > OPERAND COMPUTE RETURN-VAL = RETURN VAL * COUNTER END-PERFORM. END METHOD Factorial. END OBJECT. END CLASS COBOLClass Notice that this class, written in COBOL inherits from the class written in c#
Slide 24: Interoperability Before .NET  Inter-language interoperability before .NET involved    Call-out and call-in Native Methods Interface (Java) or equivalent Use of Interface Definition Languages or, at least, “wrappers” No cross-language inheritance No cross-language debugging Little, or no, cross-language exceptions Type incompatibilities  Restrictions included    
Slide 25: .NET Interoperability  PROVIDED   There is conformance to the Virtual Object System (VOS) object model There is conformance to the Common Language System(CLS) Cross-language inheritance is possible No need to write wrappers, or IDL   THEN   N.B. This will impact on our understanding of information-hiding interfaces for components!!!   Cross-language debugging in Visual Studio.NETtm Cross-language exceptions Not possible for many non-OO languages Features like overloading are difficult issues Multiple-inheritance not supported  BUT   
Slide 26: Languages Being Ported to .NET  ‘Microsoft’ Languages     Visual Basic C# C++ Jscript  Commercial Languages by 3rd Parties       COBOL (Fujitsu) Eiffel (ISE) Java (Rational) Smalltalk (QKS) Perl, Python (Activestate) APL  Research Languages    Oberon (ETH, Zurich) Component Pascal (QUT) Haskell (Microsoft Research)….
Slide 27: Making Choices Between Component Environments (1)  All are non-trivial  Developer-training will be required Low system costs, comparable hardware costs Multi-vendor options less with Microsoft  Up-front costs are comparable   Single-vendor solutions possible in all cases    All are theoretically scalable to infinity Web services can be built on all three platforms
Slide 28: Making Choices Between Component Environments (2)  CORBA, J2EE are NOT products  They are open specifications Specification is partly open, partly proprietory Simpler programming model Leverages knowledge of Win32 Web services are a late “bolt-on” Sophisticated programming model Better leverage of legacy systems .NET has a better “shared business context” story J2EE has a better “shared technical context” story  .NET is a PRODUCT STRATEGY   .NET is a single vendor, integrated, dedicated web services strategy    J2EE, CORBA are generalised enterprise-wide software strategies   CORBA, J2EE are multi-vendor, mature standards supported by 30+ vendors    .NET is multi-language, J2EE single language     .NET is being marketed by Microsoft’s A team J2EE (and CORBA) is being marketed by an entire industry
Slide 29: Summary  CEE’s are built on component standards  Ease the tradeoffs of “use” v “reuse” (Szyperski) CORBA Java (J2EE, EJB etc.) Microsoft Technologies (COM+, .NET)  Three competing standards:   

   
Time on Slide Time on Plick
Slides per Visit Slide Views Views by Location