Title: ClientServer technology
1Client/Server technology
- Worldlab 99 - IT Symposium
Focus on Information Technology for Laboratory
Medicine
Luca Birolini - OmniLab
2Healthcare changes...
- Competitive Pricing
- Ubiquitous lifetime Records
- Lack of Computing Interoperability
Bologna, 4th June 1999
Luca Birolini - OmniLab
3IT Objectves
- Promoting interoperability among healthcare
devices, instruments and information systems. - Improving the quality of care and reducing costs.
- Supporting the reliable and secure sharing of
medical information among healthcare
organizations.
Bologna, 4th June 1999
Luca Birolini - OmniLab
4IT de facto
- There will not be consensus on
- h/w platforms
- operating systems
- programming languages
- graphical user interface
- data standards
Bologna, 4th June 1999
Luca Birolini - OmniLab
5IT facts of life
- .. There MUST be consensus on a Common Interface
Architecture.
Bologna, 4th June 1999
Luca Birolini - OmniLab
6State of healthcare informatics
- Begin in the late 1960s with HIS (Mainframe)
- Added administrative functions (other than
billing) - 1970s born deparmental information systems
(lower cost minicomputer) - Mainframe-based HIS added departmental modules
- 1980s the rise of relational database management
systems and client server computing (healthcare
slow to respond).
Bologna, 4th June 1999
Luca Birolini - OmniLab
7State of healthcare informatics
- Healthcare institutuions typically spend a far
lower percentage of their operating budget on
informatic. - Before healthcare delivery is not a business
and cannot be managed as such.
Most information systems within an Hospital or
healthcare organization cannot interoperate
Bologna, 4th June 1999
Luca Birolini - OmniLab
8Billing
IDS Today
Radiology
Cardiology
Laboratory
GP
Order Entry
Pharmacy
Bologna, 4th June 1999
Luca Birolini - OmniLab
9IDS Trend
Healthcare Record
Access Control
Order Entry
Person ID
Workflow Mngmt
Scheduling
Tracking
Inventory
Result Rporting
Bologna, 4th June 1999
Luca Birolini - OmniLab
10Healthcare needs
- Affordable, interoperable information
systems
Client-Server computing together with distributed
object technology would seem ideal for this
purpose.
Bologna, 4th June 1999
Luca Birolini - OmniLab
11Client/Server
- Originally the term was applied to two-tired
applications (user interface on one computer,
database on another and divided the process). - Now it is applied to distribute apps (multiple
db, multiple processing and transactions center
and a client).
Bologna, 4th June 1999
Luca Birolini - OmniLab
12Client/Server
Bologna, 4th June 1999
Luca Birolini - OmniLab
13C/S Advantages
- Interoperability
- Scalability
- Adaptability
- Affordability
- Data Integrity
- Accessibility
- Performance
- Security
Bologna, 4th June 1999
Luca Birolini - OmniLab
14Client/Server Computing
- C/S computing has created a deep change in LIS
deployment as in other application area. - Its replacing monolithic mainframe applications
with applications split across client and server. - The client, usually a PC, provides the graphical
interface, while the server provides access to
shared resources (i.e. Database).
Bologna, 4th June 1999
Luca Birolini - OmniLab
15C/S computing a new revolution
- Distributed objects Internet a new c/s server
revolution within the c/s revolution. - Objects break up the client and server sides of
an application into smart components that can
cooperate across network. - The combination of distributed objects and the
Web (Object Web) is reinventing the c/s computing.
Bologna, 4th June 1999
Luca Birolini - OmniLab
16- In no way does Internet computing replace
client/server computing. Thats because it
already is client/server computing. - - Herb Edelstein (Euclid Associates)
Bologna, 4th June 1999
Luca Birolini - OmniLab
17The Object Web
- The existing c/s infrastructure is suited for
single-server departmental LANs - 3-tier c/s solutions using distributed objects
and the Web is the way to dealing with the new
infrastructure requirements. - Distributed Web objects JavaBeans, CORBA Beans,
Enterprise JavaBeans and COM components.
Bologna, 4th June 1999
Luca Birolini - OmniLab
18IT evolution
- Before the big choice was how to pick the
right computer vendor. - Now life is not as simple. C/S is the ultimate
open platform we have the freedom to mix
component at almost any level. It is possible to
put together an incredible number of networked
client and server combinations.
Bologna, 4th June 1999
Luca Birolini - OmniLab
19Client/Server integration
- Everithing in the client/server world is sold a
la carte
Bologna, 4th June 1999
Luca Birolini - OmniLab
20C/S The choice
- Wich server platform ?
- Wich client platform ?
- Wich network protocols ?
- Wich distributed computing infrastructure ?
- Wich database server ?
- Wich middleware ?
- Wich component model ?
- Wich system management base ?
Bologna, 4th June 1999
Luca Birolini - OmniLab
21C/S apps ERP (1)
- Enterprise Resource Planning (ERP). Applications
from companies like SAP, Oracle, Baan, J.D.
Edwards and others. - ERP Packaged c/s solutions for back-office
enterprise functions (accounting, payroll, human
resources, financials, manufacturing). - ERP Are moving towards front-office and vertical
applications (sales force automation, online
catalogs, retail, supply-chain management,..).
Bologna, 4th June 1999
Luca Birolini - OmniLab
22C/S apps ERP (2)
- A good ERP system lets you to manage from a
single user interface many of the key functions
in an enterprise - The newer ERP products are built on top of an
open distributed object infrastructure
(CORBA/JavaBeans or COM/ActiveX) and they are
integrated with messging system, data warehouse,
workflow engines and Web.
Bologna, 4th June 1999
Luca Birolini - OmniLab
23C/S apps ERP (3)
- ERP systems are not really turn-key.
- ERP requires re-enginering of companys process
and culture. - ERP must be integrated with the rest of
applications. - ERP apps dont give you a competitive advantage
(source Forrester Research).
Bologna, 4th June 1999
Luca Birolini - OmniLab
24Internet commerce
High
Supply chain and vertical specific apps
Customer Management
Competitive advantage apps
Inpact on competitive advantage
Manufacturing
Bread and butter applications
Human Resources (HR)
Financials
Low
Source Forrester Research
Low
High
Bologna, 4th June 1999
Luca Birolini - OmniLab
25Database Servers
Application
Server
SQL Calls
Application
DBMS Server
Application
Clients
Bologna, 4th June 1999
Luca Birolini - OmniLab
26Transaction Servers
Application
Server
Transactions
DBMS Server
Application
TP Monitor
Clients
Bologna, 4th June 1999
Luca Birolini - OmniLab
27Groupware Servers
Application
Server
Groupware messages
Groupware Server
Application
Clients
Bologna, 4th June 1999
Luca Birolini - OmniLab
28Object Application Servers
Application
Server
Object
ORB
Remote Method Invocation
Object
ORB
ORB
Application
ORB
Objects
Clients
Object
Bologna, 4th June 1999
Luca Birolini - OmniLab
29Web application servers
Server
HTML Forms
Web Browser
CGI
Java
HTTP over TCP/IP
Application
Internet
Web Browser
HTML documents
HTML Forms
Web Browser
Bologna, 4th June 1999
Luca Birolini - OmniLab
30Groupware, Transaction, Web Servers
Database, File servers
Distributed objects
Fat Server
Fat Client
GUI
Data
Application
Client
Server
Bologna, 4th June 1999
Luca Birolini - OmniLab
312-Tier Client/Server
Server
GUI Applications
SQL, File I/O, HTTP
Tier 1
Tier 2
Bologna, 4th June 1999
Luca Birolini - OmniLab
323-Tier Client/Server
Application Services
Browser/Beans/ActiveX
RPC, ORB, MOM, HTTP
SQL Data Access
Tier 1
Tier 2
Tier 3
Bologna, 4th June 1999
Luca Birolini - OmniLab
332-Tier versus 3-Tier c/s
Source Orfali/Harkey/Edwards
Bologna, 4th June 1999
Luca Birolini - OmniLab
342-Tier versus 3-Tier c/s
Source Orfali/Harkey/Edwards
Bologna, 4th June 1999
Luca Birolini - OmniLab
35Source Gartner Group
2-Tier Architecture
Cost to Develop and Mantain
3-Tier Architecture
Application Complexity and Lenght of Application
Life
Bologna, 4th June 1999
Luca Birolini - OmniLab
36Objects in healthcare
- OMG CORBAMed
- Clinical Context Object Working Group (CCOW)
- HL7
- HL7 XML/SGML
- Andover Working Group (AWG)
- ActiveX for Healthcare (AHC)
- ASTM
- X12 Commitee
- CEN TC/251
Bologna, 4th June 1999
Luca Birolini - OmniLab
37The Microsoft Way
Bologna, 4th June 1999
Luca Birolini - OmniLab
38Component based applications
- The primary advantage of using standard-based
components in healthcare information system
architecture is that any standard-based
components can be replaced at any time with a
later generationn improved, standard-base
component while the rest of the perocesses and
technologies involved can remain unchanged.
Bologna, 4th June 1999
Luca Birolini - OmniLab
39Component based applications
- Each component automates a relatively small
business functions. Clients combine several
middle-tier components within a single business
transaction. A component call other components to
help it to implement a request.
Bologna, 4th June 1999
Luca Birolini - OmniLab
40Component based applications
- Big application developments in small steps.
- Application can reuse components.
- Client can acces data and functions easily and
safety. - Custom apps can incorporate third-party
components.
Bologna, 4th June 1999
Luca Birolini - OmniLab
41CORBA
- Common Object Request Broker Architecture
- is an emerging open distributed computing
infrastructure being standardized by the Object
Management Group (OMG). - CORBA automates many common network programming
tasks.
Bologna, 4th June 1999
Luca Birolini - OmniLab
42OMG Reference Model Architecture
Application Interfaces
Domain Interfaces
Common Facilities
Object Request Broker (ORB)
Object Services
Bologna, 4th June 1999
Luca Birolini - OmniLab
43Interface Repository
IDLCompiler
Implementation Repository
In args
Operation ()
CLIENT
OBJECT (Servant)
OBJ REF
Out args return value
ORB Interface
DSI
IDL skeleton
DII
IDL Stubs
Object Adapter
ORB CORE
GIP/IIOP
Standard Interface
Standard Language Mappping
ORB-Specific Interface
Bologna, 4th June 1999
Luca Birolini - OmniLab
44LIS/Distributed Objects - Examples
- Event handler
- QPL (Quality Programming Language)
Bologna, 4th June 1999
Luca Birolini - OmniLab
45Examples - Events
- Paradigm Event/Action
- Event Scope (domain, configurability)
- Process control/Events Rebuild the entity path
(i.e. Samples history both positional and
analytical context). - Process control the base to support LIS in the
quality accreditation.
Bologna, 4th June 1999
Luca Birolini - OmniLab
46(No Transcript)
47Examples - Event Setup (instance)
- Identifier.
- Class/Subclass (i.e. analyzer mngmt, upload).
- Entities (i.e. Hitachi 917, SampleNr, TestCode).
- Source (i.e. POC Server OLE).
- Domain (User/Workstation).
- Action (callback (i.e. traffic-light alarm,
e-mail, event, QPL).
Bologna, 4th June 1999
Luca Birolini - OmniLab
48(No Transcript)
49(No Transcript)
50(No Transcript)
51Example/Events
- Event Server (DCOM, next CORBA)
- Receives event messages.
- Parse messages and set actions and callbacks
based on event parametrization (business rules). - Build the entity history.
- Writing on different Databases (load balancing).
Bologna, 4th June 1999
Luca Birolini - OmniLab
52 Business Rules (enhanced by QPL)
Server DCOM iEventMgmt iResultMgmt iQPLMgmt
Event Notification (invoking method)
CallBack (traffic-light)
Server OLE RS-232
Client
Change status
Guid Name
Print Sample Manipulation
Send e-mail
Bologna, 4th June 1999
Luca Birolini - OmniLab
53QPL
- Based on components (easy extensible)
- QPL COM
- QPL DCOM (Next CORBA)
- The object is invoked by procedure, events.
- Procedures (i.e. Validation, After/Before)
- Events
- Time Call QPL Execution
- i.e. checks results, change status, set event log
for discordance to rules)
Bologna, 4th June 1999
Luca Birolini - OmniLab
54(No Transcript)