Distributed Object Computing and JavaMotivationObjectivesOverview of PresentationWhy Distributed ApplicationsNext Step: Distributed SystemsWhy Distributed ComputingSlide 8Java and Distributed Object ComputingSlide 10CORBAObject Request Broker(ORB)Object Requests to other ObjectsInterface Definition Language(IDL)Object AdaptersInternet Inter-Orb Protocol(IIOP)Extending CORBA’s FunctionalityCORBA and JavaSlide 19Java RMIJava RMIPassing BehaviorTransport ProtocolsExtensions on top of Java RMISlide 25JavaSpacesSlide 27Goals of JavaSpaces TechnologyJavaSpaces: Stock Trading ExampleDistributed Persistence and Distributed AlgorithmsSlide 31What is XML?XML 1.0DTD - Document Type DefinitionXML Document Example - DTDXML Document Example - DataDOM - Document Object ModelThe DOM Structure ModelPortable Data/Portable CodeConclusions - XML and Java, the Natural CompanionsJava Database Support A call-level interface:JDBCJava Database Support JDBC 2.0 APISlide 43Java Database Support JDBC ProductJava Database Support Embedded SQL Statements:SQLJJava Database Support SQLJ FeaturesJava Database Support SQLJ and Oracle8iJava Database Support SQLJ ExampleSlide 49Java Database Support ODMG Java BindingSlide 51Java Database Support ODMG Java Binding ComponentsJava Database Support ODMG Java Binding Product 1Java Database Support ODMG Java Binding Product 2Introduction to Enterprise JavaBeansMulti-tier EJB ApplicationsHigh-level View of a Simple ScenarioEJB Roles and DeploymentClient’s View ContractSessionBean ExampleComponent ContractEjb-jar FileContainer Intermediates Method InvocationEJB TypesStateful Session Bean LifecycleStateless Session Bean LifecycleEntity Bean LifecycleConcurrency, Transaction and ReentrantEJB Transactions SupportEJB Security SupportDeployment Tools 1Deployment Tools 2Deployment Tools 3Deployment Tools 4Conclusions and Future ResearchCSE298 CSE300CSE.RU-1.1Distributed Object Computing and JavaDistributed Object Computing and JavaWei Lin, Xu MaWalter McClure, Chengzhong Wang Computer Science & Engineering DepartmentThe University of Connecticut191 Auditorium Road, Box U-155Storrs, CT 06269-3155{weilin,xma,czwang}@[email protected] CSE300CSE.RU-1.2MotivationMotivationDistributed Object ComputingDistributed Object ComputingInteraction Among Various ComponentsLarge-scale Software Systems Over Heterogeneous Platforms and NetworksJava is an Excellent Candidate to Implement Java is an Excellent Candidate to Implement Distributed SystemsDistributed SystemsJava Features Support DOCJava Features Support DOCMiddleware and Distributed ArchitecturesEnterprise JavaBeansDatabase SupportJava and XMLand more...CSE298 CSE300CSE.RU-1.3ObjectivesObjectivesInvestigate the Current State of the Art of Java in Support of DOCFocus on Java Support of Enterprise ComputingInteroperability of Servers, databases, COTs, and Legacy ApplicationsCommercial Products Explore and Predict the future with Respect to emerging and potential tools and technologiesCSE298 CSE300CSE.RU-1.4Overview of PresentationOverview of PresentationDistributed ComputingDistributed ComputingMiddleware and Distributed ArchitecturesMiddleware and Distributed ArchitecturesSurvey of Distributed Architectures CORBA–IIOPRMIJavaSpacesXML and JavaXML and JavaJava Database SupportJava Database SupportJDBCSQLJ embedded SQLObject-relational Mapping (ODMG Java Binding)Enterprise JavaBeansEnterprise JavaBeansConclusions and Future ResearchConclusions and Future ResearchCSE298 CSE300CSE.RU-1.5Why Distributed ApplicationsWhy Distributed ApplicationsEvolution of Current SystemsEvolution of Current SystemsFirst there were MainframesHierarchical Databases and Dumb TerminalsAll software was monolithic–User Interface, Business Logic, and Data access were all combined together into single application.Client/Server Architecture(Two-tier)GUI would reside on client, Database on server, and business logic on client, server, or both.Client/Server(Multi-tier)Further separates application layers into components. Shields client from changes to other parts of systemCSE298 CSE300CSE.RU-1.6Next Step: Distributed SystemsNext Step: Distributed SystemsBrings Concept of Multi-Tier Client/Server Systems to Brings Concept of Multi-Tier Client/Server Systems to Natural Conclusion:Natural Conclusion:Business Logic and Data Access are no longer differentiated.Functionality of application is exposed as objects.Can interact with other objects in that system as well as other systems.Furnishes Utmost FlexibilityFurnishes Utmost FlexibilityCommunication is constrained by component interface definitions.Specify functionality and implementations of that functionality.Implementations can be altered significantly without affecting other components throughout the system.CSE298 CSE300CSE.RU-1.7Why Distributed ComputingWhy Distributed ComputingContinues evolution of computer systems from Continues evolution of computer systems from multi-tier client/server architectures.multi-tier client/server architectures.Improves concurrency through connectivity and internetworking.Replication of systems will produce more reliable and available applications.Scalability and portability will be amplified by modularity. Dynamic configuration and reconfiguration of the applications will help extend them throughout the enterprise.System itself becomes more effective by availability of open systems and shared resources.CSE298 CSE300CSE.RU-1.8Why Distributed ComputingWhy Distributed ComputingContinues evolution of computer systems from Continues evolution of computer systems from multi-tier client/server architectures.multi-tier client/server architectures.Distribute related processing among multiple resources.Decentralizes nature of the enterprise.Processing power is no longer central, but spread over the network.Heterogeneous environments pose challenge to software components of system to exploit their power.Distributed computing offers software to use full potential of the enterprise.CSE298 CSE300CSE.RU-1.9Java and Distributed Object ComputingJava and Distributed Object ComputingJava’s extensibility and affinity for the Internet and Java’s extensibility and affinity for the Internet and networking technologies makes it ideal to develop networking technologies makes it ideal to develop distributed
View Full Document