240 likes | 261 Views
Learn about software architecture, integration technology, domain decomposition, migration processes, and planning in the context of healthcare services at this workshop.
E N D
LHC Software Engineering Workshop Joe Sventek 18-20 March 1998
18 March 1998 Architecture
Expert Why an architecture? • Establish the domain of discourse • Support the evolution of the system of applications • Support use/reuse of artifacts • Form the basis of framework development • Functional versus other qualities?
Healthcare Architecture Event Service Rule Agent Transaction Monitor Info Mgr Info Mgr Info Mgr Presentation UI InteractionModel MSA DM
Monitoring Architecture WS Server WAN Derived Fabric Correlator Correlator Instrumentation Fabric Probes
18 March 1998 Components
Component Structure I/F1 I/F2 I/F3
Component Structure • Aggregation versus Inheritance • Navigation around surface • “Potentially distributable” • DataFlow versus Objects + RPC
18 March 1998 Integration Technology
CORBA ObjectAdapter Object IDLSpecification Client Skeleton Stubs ORB
What this really means! Client Object Skeleton Stubs ObjectAdapter ORBRuntime ORBRuntime OperatingSystem OperatingSystem Factory Trader Locator
Communication Mechanisms • CORBA - single definition language, multiple implementation languages • DCOM - multiple definition languages, “multiple” implementation languages • RMI - single definition language, single implementation language • Their object models are essentially isomorphic • Publish/subscribe? • OrbixTalk - integrated into CORBA • TIBCO ObjectBus - proprietary API
18 March 1998 Application Frameworks
Framework Issues • Use IDL for defining the interfaces to potentially distributable components • Frameworks are not the same as class libraries • The framework is in control - it provides the main() of the application, calling user-provided code you have provided
Framework Issues I/F1 I/F2 I/F3 • In the healthcare example, the lines of code represented by the green area is 90% of the code! • Frameworks are domain-specific
18 March 1998 Domain Decomposition
Domain Decomposition • What is a domain? • Define a glossary • Enumerate components and dependencies • Work through use cases • what is common • what is variable • Specify the architecture • standard functionality desired of all components • isolate areas needing innovation/variability Iterate
19 March 1998 Migration Process
Comments on Migration Process • Really need management buy-in all the way down … • Incremental approach to “Nirvana” • Re-architecture usually only pays off in second and future iterations • Core team must be small, composed of technical “thought leaders” • Need a process when schedule pressures hit • Code walk-throughs are easier when you have computational support
19 March 1998 Centralized Expertise
HP Experience with Centralized Teams • Must have a strong team leader to keep the architecture and artifacts moving forward • Core team must include customers • Requires frequent face-to-face meetings • Weekly status phone conferences • 6-month delivery cycle • Quarterly management reviews
Requirements of IT • Licensing agreements for agreed-upon tools • Automated installation and license tracking • Support contracts on hardware • Training
20 March 1998 Planning
Comments on Planning Discussion Delivery Date # of Resources Functionality You cannot optimize all three of these at the same time - fix twoand the third must float!