Download presentation
Presentation is loading. Please wait.
Published byGabriel Henrique Barreto Delgado Modified over 6 years ago
1
Administrative Information Services,
ИСПОЛЬЗОВАНИЕ СРЕДЫ WORLD WIDE WEB И ТЕХНОЛОГИЙ J2EE ПРИ АВТОМАТИЗАЦИИ КОРПОРАТИВНОГО ДОКУМЕНТООБОРОТА Title: JavaTM Servlet API, Oracle 8i, Enterprise JavaBeansTM architecture plus Workflow - A real-life cocktail for success Abstract: At the dawn of the third millennium CERN (the world's largest physics research center and inventor of the Web-Wide-Web) is embarking on its largest construction ever. Physicists worldwide require web based access to generate, route and authorize a multitude of electronic documents (such as purchase orders, transport requests etc ) with extremely tight deadlines. One year ago we embarked in the direction of Enterprise JavaBeansTM (EJB) architecture and a JavaTM Servlet API. Now we are in full production with 1000 different users per day, a multi-lingual system processing 300,000 electronic authorizations per year, electronic Java technology-based "documents" routed by Oracle Workflow, and communication between the documents and the workflow engine running in the Java programming language in the heart of an Oracle 8i database. We will walk you thru this success story from the early design decisions (applets vs servlets), the promises of the EJB architecture, worries about interactivity, and the risks and pay-offs of going production with such new technologies. Practical advice will be given from the chief developer of this project from the implications of each design decision, to the final load balancing of 1000s of users across 20 Java virtual machines. Р.Н. Титов, Д. Матиесон Administrative Information Services, ЦЕРН, Женева, Швейцария
2
Проблемы бумажного документооборота
Дублирование данных и связанные с этим ошибки Нужно знать, кому отправлять документы на подпись Документы посылаются по почте (медленно) Невозможно (без телефонных звонков) узнать, у кого сейчас документ Задержки (забыли подписать, человек в отпуске) Административные правила могут быть нарушены Проблемы хранения/поиска/архивации
3
Paper Purchase Order
4
Web Purchase Request
5
История создания EDH 1990: версия 1 клиент-сервер, «толстый» клиент (протокол SQL*Net) 1996: версия 2.1 клиент-сервер, тонкий клиент (TCP/IP, сервер EDH) 1999: WebEDH 3-х уровневая технология на базе Java-сервлетов 2005+: WebEDH (новые технологии) XML, BPEL, AJAX, JSF…
6
Network Intra / Internet
Architecture ‘Classical’ 3-tier ‘Thin’ Web Client 9i Application Server Oracle Database Network Intra / Internet Underneath, EDH follows the classical 3-tier architecture. Written completely in Java, and following standard J2EE design patterns with a servlet and JSP front end. And as you can see all of this is running on what Sun terms ‘Entry-Level’ Unix servers – with no problems with performance even when accessed by 2,000 users per day. Workflow
7
Компоненты EDH Common Business Objects - Java-представление бизнес-понятий («сотрудник», «офис», «код затрат» и т.д. Common Input Objects - «конструктор» для создания пользовательского интерфейса. Обеспечивает ввод, визуализацию и контроль данных, и обработку/вывод ошибок. Объекты ввода могут быть простыми (TextInput) или сложными (PersonInput). Объекты ввода существуют для большинства CBO Document Infrastructure - общая для всех документов функциональность (управление объектами ввода, контроль целостности документа, функции сохранения, печати и отсылки… Handles about 20 workflows Applies organisation level standards Allows for local customisations
8
Common Business Objects
PersonHome 3-tier architecture EJB-like model Person findByID PersonEnumeration findBySurname PersonEnumeration findByString … PersonService Java Servlet PersonEnumeration findBySurname … Object – Relation Mapping Performed by this class Database
9
Объекты ввода: пример
10
Purchase Order ServletExecutor
Объекты ввода: пример String m_GeneralDescription; Person m_TechnicalContact; Supplier m_Supplier; Country m_DistribCountry; Currency m_Currency; TextInput m_GeneralDescription; PersonInput m_TechnicalContact; SupplierInput m_Supplier; CountryInput m_DistribCountry; CurrencyInput m_Currency; Purchase Order CBO Purchase Order ServletExecutor
11
Purchase Order ServletExecutor
Объекты ввода: пример String m_GeneralDescription; Person m_TechnicalContact; Supplier m_Supplier; Country m_DistribCountry; Currency m_Currency; TextInput m_GeneralDescription; PersonInput m_TechnicalContact; SupplierInput m_Supplier; CountryInput m_DistribCountry; CurrencyInput m_Currency; Purchase Order CBO Purchase Order ServletExecutor
12
Purchase Order ServletExecutor
Объекты ввода: пример String m_GeneralDescription; Person m_TechnicalContact; Supplier m_Supplier; Country m_DistribCountry; Currency m_Currency; TextInput m_GeneralDescription; PersonInput m_TechnicalContact; SupplierInput m_Supplier; CountryInput m_DistribCountry; CurrencyInput m_Currency; Purchase Order CBO Purchase Order ServletExecutor
13
Purchase Order ServletExecutor
Объекты ввода: пример String m_GeneralDescription; Person m_TechnicalContact; Supplier m_Supplier; Country m_DistribCountry; Currency m_Currency; TextInput m_GeneralDescription; PersonInput m_TechnicalContact; SupplierInput m_Supplier; CountryInput m_DistribCountry; CurrencyInput m_Currency; Purchase Order CBO Purchase Order ServletExecutor
14
Purchase Order ServletExecutor
Example String m_GeneralDescription; Person m_TechnicalContact; Supplier m_Supplier; Country m_DistribCountry; Currency m_Currency; TextInput m_GeneralDescription; PersonInput m_TechnicalContact; SupplierInput m_Supplier; CountryInput m_DistribCountry; CurrencyInput m_Currency; Purchase Order CBO Purchase Order ServletExecutor
15
Server Architecture Diagram
View Controller Model Business Objects Document Executor Oracle Database Document Servlet Business Objects Document Executor Stateless Session Persistent
16
Workflow The workflow builder enables you to enter workflow definitions graphically with a simple ‘drag-and-drop interface’ One the left there is a Navigator Window which contains all of the definitions currently in the workflow database. Selecting a Process definition reveals the workflow diagram. Workflow processes can contain sub-workflows, for example here this process contains the ‘Standard Financial Routing’ The builder tool also has the ability to validate a workflow definition, checking that it has one start point and that all possible paths are correctly terminated.
17
Новые технологии: XML Настраиваемый интерфейс
Динамическое изменение интерфейса Поиск данных (через Oracle Text) Генерация PDF (через XSL-FO) Обмен данными с другими системами Динамическая генерация кода Handles about 20 workflows Applies organisation level standards Allows for local customisations
18
Skinnable User Interface
<aissearchscreen> <head><title>Person Search</title></head> <body> <input type="hidden" name="isAdvanced" value="false"/> <input show="always" type="text" label="Keyword" value="titov"/> <input type="checkbox" label="Fuzzy search" value="No"/> <result> <header> <tablecell>Full Name</tablecell> … </header> <row> <tablecell>Maksym TITOV</tablecell> <tablecell>71169</tablecell> <tablecell>40-3-C08</tablecell> </row> <tablecell>Oleg TITOV</tablecell> <tablecell>EXT</tablecell> <rowcount>4</rowcount> </result> </body> </aissearchscreen>
19
Dynamic User Interface Customization
CERN Stores Catalog Data loaded through XML Data stored in XML Pure XML-XSLT items users Used every second ~15-20K XML for each page Custom formatting (through XSLT redefinition)
20
New Technologies: client side
AJAX (Asynchronous JavaScript and XML) In collaboration with MEPhI
21
Workflow Future: BPEL Business Process Execution Language
XML language for defining behaviour of a process that provides web-service(s) that uses web-services everything it sees is a web-service no other external interactions Definition: OASIS
22
BPEL Process Example
23
BPEL Design IDE
24
Compiled BPEL Scenario
BPEL Deployment Process WSDL BPEL Scenario <process> <partners> <variables> <sequence> <flow> </sequence> </process> Application Server BPEL Runtime Compiled BPEL Scenario Compile Package Deploy Partner WSDL 1 . . . Partner WSDL n
25
Core Concepts Long-running interactions (>= 2 parties)
Peer-to-peer synchronous/asynchronous message exchanges Request-response One way (e.g., notification, reply to ‘callback’ interface) Maintaining state (variables and data access) Data-dependent behavior (conditional and timeout constructs) Exception handling and recovery Compensation (reversal of operations) Cross-partner coordination (message correlation)
26
EDH Expansion Documents per Month Active Users 22000 20000 18000 16000
14000 12000 10000 Active Users 8000 Here is the obligatory sales graph showing the growth of the application over the years. We now have over 10,000 registered users with 2,000 users per day. Over 150,000 documents per year. 1 electronic signature every 8 seconds. As you can see EDH really is a critical application in the day-to-day running of CERN. 6000 4000 2000 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005
27
Productivity Gain 70% With EDH Paper (Estimated) 60% 50% 40% 30% 20%
10% 0% 1 2 3 4 5 6 7 8 9 10 11 12 13 14 >14 Days
28
Преимущества EDH На бумаге… Через Web…
Дублирование данных и связанные с этим ошибки Пользователи должны знать, куда посылать документ Документы посылаются по почте (задержка 24 часа и более) Невозможно узнать, где находится документ Задержки в случае отсутствия ответственных лиц Некоторые правила ЦЕРН могут не соблюдаться Проблемы архивирования/хранения Единая система ввода данных EDH знает, куда посылать документ Документы посылаются по (задержки минимальны) EDH всегда может показать, где находится документ, кто в данный момент его подписывает и почему EDH перенаправляет документы автоматически в случае отсутствия сотрудников Гарантировано исполнение всех правил ЦЕРН Старые документы могут использоваться как шаблон для создания новых документов Все ранее созданные документы и история их подписания доступны для консультации
29
EDH at CERN Около 10000 активных пользователей со всего мира
Более 2’000’000 документов Автоматизировано 40 бизнес-процессов Handles about 20 workflows Applies organisation level standards Allows for local customisations
30
http://ais.cern.ch http://ais.cern.ch/apps/edh
For More Information … Handles about 20 workflows Applies organisation level standards Allows for local customisations
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.