Technology Review


Published on

Published in: Technology, Education
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Example of technology Distributed Computing Environment (DCE)
  • Example of technology MS COM/DCOM COM+/MTS
  • Example of technology Java RMI
  • Example of technology ORB
  • Example of technology CORBA J2EE RMI (IIOP)
  • As is evident in this side-by-side comparison, each of these platforms is pursuing similar technical goals. The architectures line up pretty well in terms of capabilities. The big differences are: Operating System – J2EE supports many, Microsoft supports one. CLR vs. JVM. Microsoft’s CLR is a language environment that provides memory management and security features. It supports multiple languages. In J2EE, the JVM or Java Runtime Environment, provides memory management and supports a single language, Java. ADO.NET provides for call-level data access, format generation and transformation, synchronization (transaction) options, and a programming model for data. ADO.NET’s key distinction from J2EE is that it encourages developers to view data as data objects and not as pure objects. The approach encourages developers to create new abstractions of schema that can be subclassed and then related to functional classes and components. This is different from J2EE, which uses pure objects and object-relational in the EJB spec. The Java community is working on a competitor to ; JDO and the Java Connector Architecture (JCA) are the major new developments. EJBs vs. Serviced Components. EJBs are formally defined J2EE components. Among other things, EJBs fill the need for stateful servers. Microsoft’s equivalent is Serviced Components, which are new and seemingly descended from COM+ components. EJBs, for all of their issues, are more mature than Serviced Components. On user interface, Microsoft has both ASP.NET for browser-based UIs and Windows Forms for rich clients. ASP.NET provides an event-based, forms-based programming model for Web applications. Unlike JSP, ASPs are compiled (JIT). The service provides a library of server-side controls and event handlers--all in the manner of VB programming. The other differences are well-known. There is nothing quite like VS.NET in the J2EE world. Microsoft supports multiple languages, while J2EE is a Java choice. Entity Beans – MS has Object Spaces – MS version of entity beans. Function to do OR mapping.
  • The next phase of the decision process has to do with who makes the decision. Centralized decisions made by architecture groups look different from project team decisions. This is a scorecard based on a composite architectural group in a complex enterprise. You can see that J2EE wins, primarily because it is more open and offers more control points than Microsoft.
  • This is the view we saw at Allstate Financial. This decision-making profile had two important differences from the architecture scorecard we saw a moment ago. First, we now have a specific project’s requirements driving the decision, not a set of architectural decisions that must support many applications. Second, we’ve got a base of Microsoft skills ….
  • Technology Review

    1. 1. Technology Review Rattakorn Poonsuph D.Sc. School of Applied Statistics, NIDA
    2. 2. Technology Perspectives
    3. 3. The Enterprise Platform Architectures Gartner Group ©
    4. 4. Architecture Trends <ul><li>Today, the value is not defined as much by functionality anymore but by connectivity </li></ul><ul><ul><li>However, we need a new programming model </li></ul></ul><ul><li>Why SOA today? </li></ul><ul><ul><li>We are reaching a new threshold of connectivity and computing power </li></ul></ul>Mainframe Client Server Web SOA
    5. 5. Software Technology Evolution Modularity Architecture
    6. 6. Modularity (Procedural Languages) Process Boundary Spaghetti Thread Spaghetti Thread
    7. 7. Static Binding C C Lib … … obj obj Linking EXE
    8. 8. Dynamic Binding C C Dyn Lib … obj obj Linking EXE DLL Runtime Shared
    9. 9. Dynamic Binding VS Messaging Machine Boundary Machine Boundary Machine Boundary EXE DLL DLL DLL DLL DLL DLL DLL DLL DLL DLL Container Container Container Container
    10. 10. Question <ul><li>JAVA ? </li></ul><ul><li>.NET ? </li></ul>
    11. 11. Object-oriented Architecture
    12. 12. Characteristics of OOA <ul><li>Objects are abstractions of real-world or system entities and manage themselves. </li></ul><ul><li>Objects are independent and encapsulate state and representation information. </li></ul><ul><li>System functionality is expressed in terms of object services. </li></ul><ul><li>Shared data areas are eliminated. Objects communicate by message passing. </li></ul><ul><li>Objects may be distributed and may execute sequentially or in parallel. </li></ul>
    13. 13. Advantages of OOD <ul><li>Easier maintenance. Objects may be understood as stand-alone entities. </li></ul><ul><li>Objects are potentially reusable components. </li></ul><ul><li>For some systems, there may be an obvious mapping from real world entities to system objects. </li></ul>
    14. 14. Object-Oriented Data Polymorphism Inheritance Encapsulation Data Inheritance Encapsulation Polymorphism Inheritance Encapsulation Polymorphism Data Data Polymorphism Inheritance Encapsulation
    15. 15. Component-Base Architecture
    16. 16. Component Base Process Boundary
    17. 17. Component-based development <ul><li>Component-based software engineering (CBSE) is an approach to software development that relies on software reuse. </li></ul><ul><li>It emerged from the failure of object-oriented development to support effective reuse. Single object classes are too detailed and specific. </li></ul><ul><li>Components are more abstract than object classes and can be considered to be stand-alone service providers. </li></ul>
    18. 18. CBSE and design principles <ul><li>Apart from the benefits of reuse, CBSE is based on sound software engineering design principles: </li></ul><ul><ul><li>Components are independent so do not interfere with each other; </li></ul></ul><ul><ul><li>Component implementations are hidden; </li></ul></ul><ul><ul><li>Communication is through well-defined interfaces; </li></ul></ul><ul><ul><li>Component platforms are shared and reduce development costs. </li></ul></ul>
    19. 19. Component Scalability <ul><li>Scalable </li></ul><ul><li>Failover </li></ul><ul><li>Load Balancing </li></ul><ul><li>High Performance </li></ul><ul><li>Low Cost </li></ul>Container 2 Container 3
    20. 20. Component model services
    21. 21. Question <ul><li>What different between Program Library & Component-base </li></ul>
    22. 22. Distributed Architecture
    23. 23. Remote Procedure Call -DCE Client Server
    24. 24. Distributing Component (DCOM) Client Server
    25. 25. Remote Method Invocation (RMI) Client Server
    26. 26. Object Request Broker Proxy Proxy Client Server
    27. 27. CORBA / J2EE Proxy Proxy Client Server Container
    28. 28. Scalability Proxy Client Server Container Server Container
    29. 29. The Architecture Train Hype Cycle Time Visibility DCE CORBA Technology Trigger Peak of Inflated Expectation Slope of Enlightenment Plateau of Productivity COM DCOM J2EE COM+/MTS .NET Web Services ? MOM
    30. 30. The Disintegration of AD: Replacing Procedures With Services Web Services Services Components Granularity Scope B2B Market, Global Enterprise Coarse Objects HTTP+ MOM ORB Typical Access via Small Enterprise, Complex Application Homogeneous Application Program Tighter Looser Coupling Procedural Call
    31. 31. Component Model
    32. 32. Component models <ul><li>A component model is a definition of standards for component implementation, documentation and deployment. </li></ul><ul><li>Examples of component models </li></ul><ul><ul><li>EJB model (Enterprise Java Beans) </li></ul></ul><ul><ul><li>COM+ model (.NET model) </li></ul></ul><ul><ul><li>Corba Component Model </li></ul></ul><ul><li>The component model specifies how interfaces should be defined and the elements that should be included in an interface definition. </li></ul>
    33. 33. Relationship to Other Standards <ul><li>Microsoft COM and ActiveX </li></ul><ul><ul><li>Provides component interoperability on Windows platform with language-independence </li></ul></ul><ul><li>Sun JavaBeans and EJB </li></ul><ul><ul><li>Cross-platform component architecture based on the Java programming language </li></ul></ul><ul><li>CORBA 2.0 </li></ul><ul><ul><li>Cross-language, cross-platform distributed object model </li></ul></ul>
    34. 34. COM/DCOM Model Visual Studio ActiveX DLL Form COM.DLL Windows Registry CLSID Look-up Remote Call UI.EXE Interface { ListAccount() Deposit() Withdraw() Transfer() } Implementation ListAccount() { … .. } N a me of new group: Desciption Group type: S ecurity D istribution Group scope: D o main local G lobal U niversal
    35. 35. Distributed COM+ / MTS Client Machine Remote Server M T S Windows Registry UI.EXE Look-up Remote Call
    36. 36. Microsoft .NET vs. J2EE Serviced Components Visual Studio.NET Operating System Common Language Runtime .NET Framework ADO.NET, XML Multiple Languages Common Language Specification The Microsoft Platform Generic J2EE Platform ASP.NET Windows Forms Tools Operating Systems JVM System Classes JDBC, XML, JDO Java EJBs Java Byte Code Specification JSP Swing
    37. 37. Scorecard: Enterprise Architect Advantage Scaling options J2EE OS-based, clustering & failover Functional richness J2EE Reflected by APIs & services Security J2EE Experience & architecture Hardware/OS choice J2EE Range of options Vendor choice J2EE Sources of supply Developer tools Microsoft Functional richness, ease of use XML & Web Services Microsoft Depth & maturity Manageability Neutral Application dependent Costs Neutral Application dependent
    38. 38. Scorecard: Web Project Leader Advantage Developer tools Microsoft GUI richness, ease of use Manageability Microsoft Appropriate, easy to use function Costs Microsoft Deployment, development, skills Scaling options J2EE But Microsoft is good enough Functional richness Microsoft Rich client function is vital Security J2EE A manageable risk Hardware/OS choice NA Wintel is the choice Vendor choice J2EE Microsoft is the choice XML & Web Services Microsoft A low priority
    39. 39. Summary Analysis of Current Platforms © 2002 Giga Information Group, Inc. <ul><li>Best GUI development </li></ul><ul><li>Tighter platform integration & unified management </li></ul><ul><li>Better, cheaper tools </li></ul><ul><li>Multi-language & cross-language support </li></ul><ul><li>More developers (but many are not “enterprise class”) </li></ul><ul><li>ASP.NET better than JSPs (for now) </li></ul><ul><li>Platform choice for reliability, scale-up and legacy </li></ul><ul><li>Greater vendor leverage </li></ul><ul><li>Stronger architecture focus, interfaces & clustering </li></ul><ul><li>Tools more team-oriented </li></ul><ul><li>Greater adoption rate / openness </li></ul><ul><li>Greater platform depth </li></ul>Strengths Platform .NET J2EE
    40. 40. Technical Design Pattern
    41. 41. Transactional B2C DMZ Corporate or Service Provider Network JDBC Data Store HTTP Browser XML/XSL Bean Applets HTML J2EE AppServer JavaBean EJB JSPs Web Server
    42. 42. Transactional B2C With Legacy HTTP JDBC Data Store Messaging Bean Interface J2EE Connector DMZ Corporate or Service Provider Network Browser XML/XSL Bean Applets HTML J2EE AppServer JavaBean EJB JSPs Web Server Legacy Data/Transfer COBOL Application Flat File IMS CICS
    43. 43. B2B Integration J2EE AppServer EJB Data Store DMZ Corporate or Service Provider Network Web Server XML / HTTP Corporate or Service Provider Network Partner Applications Custom XML Interface Package Data Access Data Store JDBC Web Server XML Interface
    44. 44. Service-Based Data Access Message Bus EJB Data Service Standard Java Persistence C++ Data Service Standard C/C++ Persistence Data Store Data Store
    45. 45. JSP/Struts/EJB J2EE Design Principle
    46. 46. .NET & J2EE Integration Combine the benefits of both .NET & J2EE
    47. 47. Technology Trends 2006 & Beyond
    48. 48. CHANGES ON THE COMMUNICATIONS HORIZON “ By 2010, 30 percent of US homes will use only cellular or Internet telephony” Ken Dulaney | Bob Hafner | Wm. L. Hahn | Tole J. Hart Gartner’s Top Predictions for 2006 and Beyond PREDICTION
    49. 49. PC’s “ By 2008, 10 percent of companies will require employee-purchased notebooks”. Leslie Fiering | Brian Gammage | Martin Reynolds Gartner’s Top Predictions for 2006 and Beyond PREDICTION
    50. 50. I.T. WORKFORCE “ The job market for IT specialists will shrink 40 percent by 2010”. Diane Morello Gartner’s Top Predictions for 2006 and Beyond PREDICTION
    51. 51. Depth of Skill WORKFORCE PREDICTION The rise of VERSATILIST <ul><li>Specialist </li></ul><ul><li>Deep skills </li></ul><ul><li>Narrow Scope </li></ul><ul><li>Peer recognition </li></ul><ul><li>Unknown Outside domain </li></ul><ul><li>Generalist </li></ul><ul><li>Superficial skills </li></ul><ul><li>Broad Scope </li></ul><ul><li>Quick response </li></ul><ul><li>Others lack confidence </li></ul><ul><li>Versatilist </li></ul><ul><li>Deep skills </li></ul><ul><li>Wide scope of Roles </li></ul><ul><li>Broad Experience </li></ul><ul><li>Recognized in other domains </li></ul>Scope of Roles and assignments Specialist Generalist Versatilist