Theme JEE and .Net OMA Implementations (Part 2)

Theme JEE and .Net OMA Implementations (Part 2)

Application Servers Session 5 – Main Theme JEE and .Net OMA Implementations (Part 2) Dr. Jean-Claude Franchitti 1 Icons / Metaphors Information Common Realization Knowledge/Competency Pattern Governance Alignment Solution Approach 22 Agenda 11 Component-BasedComponent-Based TechnologyTechnology 22 .Net.Net OverviewOverview 33 .Net.Net ServicesServices 44 .Net.Net InteroperabilityInteroperability SupportSupport 55 J2EEJ2EE ServicesServices 66 ConclusionConclusion 3 Components A component is a physical and replaceable part of a system that conforms to and provides the realization of a set of interfaces Graphically, a component is rendered as a rectangle with tabs Course Kernel32.dll 4 Components vs. Classes Similarities: Both have names Both may realize a set of interfaces Both may participate in dependency, generalization, and association relationships Both may be nested Both may have instances Both may be participants in interactions 5 Components vs. Classes (continued) Differences: Classes represent logical abstractions; Components represent physical things that live directly on a “node” A node is a physical element that exists at run time and represents a computational resource, generally having at least some memory and processing capability 6 Components vs. Classes (continued) Components represent the physical packaging of otherwise logical components and are at a different level of abstraction The relationship between a component and the classes it implements can be shown explicitly by using a dependency relationship Classes may have attributes and operations directly In general, components only have operations that are reachable only through their interfaces 7 Components and Interfaces An interface is a collection of operations that are used to specify a service of a class or a component All the most common component-based operating system facilities (e.g., COM+, CORBA, and Enterprise Java Beans) use interfaces as the glue that binds components together 8 Components and Interfaces (continued) An interface that a component realizes is called an export interface An interface that the component provides as a service to other components An interface that a component uses is called an import interface An interface that the component conforms to and so builds on 9 Components and Interfaces (continued) The fact that an interface lies between two components breaks the direct dependency between the components A component that uses a given interface will function properly no matter what component realizes that interface 10 Binary Replaceability The basic intent of every component- based operating system facility is to permit the assembly of systems from binary replaceable parts Can create a system out of components and then evolve that system by adding new components and replacing old ones 11 Characteristics of A Component It is physical. It is replaceable. It is part of a system. It conforms to and provides the realization of a set of interfaces. 12 Three Kinds of Components Deployment components Components that are necessary and sufficient to form an executable system. e.g., dynamic libraries (DLLs) and executables (EXEs). 13 Three Kinds of Components (continued) Work product components Essentially the residue of the development process, consisting of things such as source code files and data files from which deployment components are created Execution components Created as a consequence of an executing system 14 Standard Elements UML defines five standard stereotypes that apply to components: Executable May be executed on a node Library A static or dynamic object library Table Represents a database table File Represents a document containing source code or data Document Represents a document 15 Component Diagrams A component diagram shows a set of components and their relationships Shows the organization and dependencies among a set of components 16 Sample Component Diagram Billing.exe Register.exe Billing System People.dll User Course.dll Course Student Professor Course Course Offering 17 Sample Component Diagram (continued) 18 Sample Component Diagram (continued) 19 Sample Component Diagram (continued) 20 Current Trend – Three kinds of Developers System Developer Component Developer Business Application Developer 21 MDA OMG's MDA (Model-Driven Architecture) specification describes: » a PIM - platform-independent models (i.e. business design) » PSMs - the mapping of a PIM to one or more platform-specific model MDA => Model Once, Generate Everywhere Review MDA presentations: » http://www.io-software.com 22 MDA (continued) UML Model (PIM) XMI Document (PSM) Auto <Auto> <Color> Red </Color> Color : String XMI Door : Integer <Door> 4 </Door> Engine : Integer <Engine> 2 </Engine> M O </Auto> X F M I IDL, Java… (PSM) XMI DTD, Schema (PSM) interface Auto { Class Auto <!Element Auto }; {public String color; (Color*, public int Door; Door*, public int Engine; Engine*)> } 23 The first level of automation ~ 30 Years (Platform independent to platform specific model projection) Programming IDEs (e.g. JBuilder, Visual Age, NetBeans) Environment •Higher level of expression PIM Programming Language •Easier to understand •Portable •Standardized •Dependable Generator, •Flexible Projection Compiler Engine •Configurable •Optimizing •Complete: Linker, Debugger, Etc. PSM Diverse HW/OS Platforms 24 MDA= New automation levels ~ Last 8 Years http://www.omg.org/mda Architectural IDEs Environment •Higher level of expression PIM Model (UML, BOM…) & •Easier to Modeling Style (J2EE, eEPC, COBOL, .NET…) understand •Portable •Standardized •Dependable Generator, •Flexible Generator Engine Projection •Configurable •Debuggable •Optimizing Models to Code •Complete Models to Models P-Stack: A Level of Automation PSM 25 Architectural IDEs http://www.io-software.com The Unified Process Std. MDA Projections ArcStyler Core Modules J2EE/EJB, .NET BEA WebLogic Open MDA/UML/XML Repository MDA Cartridges Business Pattern UML MDA-Engine Build, IBM WAS NT, z/OS Object Refinement Refinement Engine Deploy & Test with Meta IDE Modeler Assistant Assistant Support Borland, JBoss Optional integrated Tools IDS ARIS Rational Rose Programming IDE Oracle, IONA Architect MDA-Cartridge IDE & MDA Engine Edition adds support for custom infrastructure 26 Model Driven Development Tool (http://www.sygel.com/) 27 Model Driven Development Tool (http://www.sygel.com/) 28 Towards XML Model Based Computing Step 1: Document Object Model Step 2: XML Data Binding Step 3: Standard XML Information Models Step 4: XML Application Services Frameworks Processing, Rendering, Querying, Secure Messaging Step 5: XML-Based “Web Object Model” Web Services Architecture Step 6: XML Model Driven Architectures (to come) 29 Agile Modeling & XP http://www.agilemodeling.com/, http://www.agilemodeling.com/resources.htm Practices-based software process whose scope is to describe how to model and document in an effective and “agile” manner One goal is to address the issue of how to apply modeling techniques on software projects taking an agile approach such as: eXtreme Programming (XP) Dynamic Systems Development Method (DSDM) SCRUM etc. Using modeling throughout the XP lifecycle http://www.agilemodeling.com/essays/agileModelingXPLife cycle.htm Agile Methodologies Sample Project Development Methodology http://www.thoughtworks.com/library/agileEAIMethods.pdf http://www.thoughtworks.com/library/newMethodology.pdf 30 Agenda 11 Component-BasedComponent-Based TechnologyTechnology 22 .Net.Net OverviewOverview 33 .Net.Net ServicesServices 44 .Net.Net InteroperabilityInteroperability SupportSupport 55 J2EEJ2EE ServicesServices 66 ConclusionConclusion 31 Component Development with COM and CORBA Client Server component component IDL Stub Component “Bus” 32 IDL Specification module Reservation {interface Flight_booking { Price ticket_price (in Date day, in Flight number) raises (invalid_date, invalid_number); exception invalid_date {Date when; }; readonly attribute string name; ...} }; 33 The Role of IDL Provide language-neutral interface description of a module’s operations As a result, enable clients and suppliers written in different implementation languages 34 The Trouble with IDL Programmers must write IDL interface in addition to actual software If from an O-O language, IDL duplicates information present in the code, e.g. C++ header file Perils of duplication IDL compiler goes the wrong way! However: some tools ease the process. 35 Pre-.NET Approaches: Summary Object technology is best known basis Information hiding is key O-O sufficient by itself: need for autonomous components Current approaches too heavy: extra work to turn module (e.g. class) into component IDL is a killer 36 Application Platforms Today Browser Web Services Local Other Apps Apps Apps Apps GUI Transaction Web Data Remote More Services Services Scripting Access Access Standard Library Runtime Environment Operating System 37 Current Web App. Environment: .NET vs. Java .NET Windows ASP.Net VS.NET Client ADO.NET IIS COM+ Relational HTML WebService Database JavaScript SOAP System Browser JSP/Servlets EJB JDBC WebSphere Wireless Device Desktop Web Server App Server DB Server 38 .NET Framework Design Goals Dramatically simplifies development and deployment Unifies programming models Provides robust and secure execution environment Supports multiple programming languages 39 So What Really Is .NET? Software for connecting people, information, systems and devices? Runtime

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    107 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us