SlideShare una empresa de Scribd logo
1 de 40
Descargar para leer sin conexión
ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT)   1




Cost-effective e-Government Services
   Export Control System phase 2 (ECS2)

                    Vladimir Alexiev, PhD, PMP
                    CTO,
                    CTO Sirma Solutions Corp

                     Bulgaria-Korea IT Experts Workshop
                          Sofia, Bulgaria, 25.2.2010
                             fi    l i
ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT)   2


                                            Outline
•   Who We Are
•   What is
    Wh t i ECS2
•   Tools and Technologies
•   Data Model
•   Model Driven
    Model-Driven Generation
•   System Architecture
•   Business Process Modeling and BPMS
    B i      P       M d li     d
•   XPath-based DSL (Assignments, Rules and Conditions)
•   GUI Generation and Features
•   Deployment Model
     ep oy e t ode
ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT)   3




 What is
 Wh t i ECS2
ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT)         4



                                        What is ECS2?
•   Trans-European system involving 31 countries
     •   Coordinated by DG Taxation and Customs Union (TAXUD)
     •   Client: Bulgarian Customs Administration (BCA)
•   Strict timeline. "Only" 6 countries were late. BG ECS2 was deployed on time on 1 July 2009
     •   11 months from start to production (some national functionalities finished 3m later)
     •   Including Conformance Testing with EC (and fixing bugs in the CT!), deployment and training with BCA
     •   Used intensively: currently handles 80-100,000 export movements (500,000 messages) per month.
     •   Users: 3500 customs officers, 200,000 potential traders
     •   Bulgarian Industrial Association is teaching traders how to use Electronic Declaration (paid trainings)
            l i      d    i l       i i i        hi      d h              l      i     l i ( id i i )
•   Large project: 45 message types averaging 100 fields each, 50 Elementary Business Processes (EBP), 30
    man/years of effort. Subsystems:
     •   ECS2 Core : message processing (in/outflow), business process persistence
                                           (in/outflow)           process,
     •   ECS2 Web: customs officers data view/entry
     •   DTI B2B: Direct Trader Interface for system-to-system electronic declaration processing
     •   DTI Web: trader portal for interactive entry of electronic declarations (
                          p                         y                            (manual or XML from file)
                                                                                                         )
     •   Messaging: EU (CCN/CSI communication, Redix), DTI (db/webservices), BICIS (webservices)
     •   Routing between ECS1 and ECS2 (complex transition period!)
     •   Processing Reference Data, Customs Office List, Unavailability (RD/COL/UNA)
     •   External system integration (BICIS, CAS, RA, SDM, EORI/AEO, TARIC, other gov agencies)
     •   Printing (Single Administrative Document), Reporting
     •   Administration (Core and DTI)
ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT)   5



                               The Legacy: ECS1
• Executed during 2006-2007, deployed in Jul 2007
• Big problems with project organization and software architecture
    •   System development continued for 14 months after deployment, some parts never deployed
    •   Big problems with stability, performance and bugs.
    •   ITT was subcontractor, so we knew the business and all problems first-hand
                  b                   k     h b i         d ll    bl    fi h d
• Problems with the tools used
    •   Process Server: heavy XML munching leading to bad performance
    •   Therefore no long-running processes and human tasks used used as a data flow engine, not a real
        BPMS
    •   Message Broker: used only for XML-XML conversion not worth the overhead
• Architecture is not modular
    •   Disparate technologies used for Core and DTI, different GUI technologies
    •   All message munching is left to Process Server (
                  g           g                         (Websphere Integration Developer)
                                                              p         g              p )
    •   Common steps such as validation, object construction, etc are not modularized
    •   50 disparate processes ("phases") of ~40 steps each: huge complexity, no reuse
        Impossible to modify or extend
          p                 y
   Together with the client made the hard decision to rewrite ECS1, instead of trying to build on
   a shaky foundation
ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT)   6



                                     Our Approach
• Immediately (first 3 months) ran an architectural pilot
   • E l t d IBM vs open source
     Evaluated
   • Picking tools was the "easy part": trust nothing, try everything, be modern but not
     bleeding edge
• Finding the architectural approach was the hard part:
   • Too complex data generation of as many artifacts as possible is key to consistent
     implementation.
       p
   • Too much data share sub-objects, copy/pass references only
       •   Share data beans (stateful Hibernate session) between all core components
   • Too much processing            strict code modularization and factoring
       •   All process-independent steps are done outside of the BPMS
       •   Screens are reused between core and DTI systems as much as possible
   • T many Rules & Conditions (250, revised daily) i
     Too         R l      C di i      (250    i d d il ) invented XPath b d DSL the
                                                                  d XP h based DSL, h
     same R&C are used in offline and GUI interactive validation
   • Complex processes (and some unclear/buggy TAXUD specs) design processes
     visually, clarify with client numerous times, implement in BPMS
ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT)   7




     Tools and
    Technologies
Selected Open Source or inexpensive
     tools,
     tools instead of proprietary
            expensive ones
ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT)      8



• Servers
                    Tools and Technologies
                                      g
   •   JBoss AS 5.0.1: application server
                                                           • Frameworks/libraries
                                                                 • JBoss Seam 2.1: application framework,
   •   JBoss Messaging: message queuing
                                                                   IoC container
   •   jBPM 3.3: business process execution
                                                                 • EJB 3.0: object model
   •   Informix Dynamic Server 10 FC8:
                                                                 • JPA/Hibernate 3.3.2: persistence and
       database server (client requirement)
                       (         q        )
                                                                   O/R mapping i
• Tools
                                                                 • JSF 1.2: web framework
   • JBoss Tools 3.0: development IDE
                                                                 • Facelets: JSF templating engine
   • H d
     Hudson: continuous integration
                   ti      i t   ti
                                                                 • RichFaces 3.3: JSF AJAX library
   • CheckStyle: static analysis, coding
                                                                 • JiBX 1.1: XML/Java binding
     conventions
                                                                   (
                                                                   (serialization/deserialization))
   • Subversion source control, EclipseSVN
                                                                 • Dozer 4.4.1: object graph cloning (deep
   • TestNG 5.8: unit testing                                      copy), used sparingly
   • DBUnit: database testing                                    • JXPath 1 2: DSL for message
                                                                            1.2:
   • MS Project: planning                                          assignments, R&C validation
   • Jira: task tracking                                         • Saxon 9: XSLT transformations
   • Vi i process modeling
     Visio:              d li                                    • J
                                                                   Jasper reports 3 1 3 reporting, printing
                                                                                   3.1.3:       i    i i
   • Word: specification writing                                   Single Admin Doc
   • Wiki: engineering notes / collaboration                     • Log4J: structured logging
ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT)   9



                    Deployment Model
• Open Source operating system: RedHat Enterprise
    p            p      g y                  p
  Linux
• Database: Informix
             Informix,
• Open Source Java Enterprise Edition stack: JBoss,
  JEE 6, EJB 3, JSF
• Centralized (ECS1 was semi-distributed)
• Dedicated servers (ECS1 shares server with 4-5
  other applications, sometimes crashed)
ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT)                                                                                                                               10


                                                     Deployment Model
                                                       p y
                         Level 1                                                       Level 2                                                       Level 3
             Web Portal BTMS                                                          Check Server                                                                        BCA Server Farm
                  Linux                                                                  Linux
           Application Server
                JBoss 4                                                             Application Server
            Web applications                                                             JBoss 4                         Response
                                                                                                                                                     EORI/
                                                                                                                                                                                                                               TARIC
                                                                                                                                                     AEO
                                                                                                                      (Requested only)


               BTMS_ONLINE                                                           Web applications
                                                                                                                                                                                       BICIS
                                                                                                                             Request
             DBMS Informix 10                                                                CS_BTMS                                                            SDM                 CAS        RA
JDBC




       Database: CWS          Database: ECS2
           Users               Declarations                                         Application Server
                                                                                         JBoss 5
                                                                      JDBC
                                                                                                                                         ECS2 Core
                                                                                       Web Services
                       JDBC                                                                                                                                               Входящ
                                                                                                                                                        Мениджър          конвейр               Интерп
                                                                                                                                                           на                                   ретатор
                                                                                                                                                        съобщени                                   на
            Application Server                                   JMS
                                                                                                                                                           ята                Изходящ           съобще
                                                             Response
                 JBoss 5
                                                          (Requested only)               ECS2_B2B                                                                              конвейр            ния
                                                                                                                                                                                                                         ECS2.
              Web applications                                                                                                                                                                                            Core
                                                                                                                JMS
                              JMS                                                                                                                                                                                          DB

                                               MQ                                                                                          Redix
                                                                   Request
                                         ED_to_ECS2Core                                                                                                  jCSI / CSI
                                                                                                                                                                            JBPM                    JBPM
                 ECS2_Online                                                                                                                                                 DB
                                                                                                                                                                                                                          Мениджър на
                              JMS                                                                                     JMS                                                                                                потребителския
                                                                                                                                                                                                                           интерфейс
                                              MQ
                                         ECS2Core_to_ED


                                                                                             All ports                                                                 All ports

                                                    Firewall                                                      Firewall                                                                                                              Firewall

                                                                             HTTP
                       HTTP(S)

                                                                                             VPN Server                                                                            VPN Server


                          External
                          Domain                                                       External Domain
                                                                                                                                                                                   Common Domain
                                                                                                                                                                                                           TARIC                 EORI/AEO
                                                                                VPN Client               B2B Application
                                                                                                                                                                                                                              MQ          MQ
                                                                                                                                                                                                     MQ            MQ         in
                                                                                       Trader System                                                    MQ       MQ                                                                       out
                                                                                                                                                                                                     in            out
                                                                                                                                                        in       out
ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT)   11




  ECS2 System
         y
  Architecture
ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT)   12



         ECS2 Backend Architecture




• All process-independent data munching, scrubbing and
  washing i d
      hi is done i one place, outside BPMS
                  in      l      t id
ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT)                                                                                                                       13


BPM Specification (BPMN/Visio)
     p            (          )
                                                                  (null, EXPBIC)
                                                          SI1А0000 Обработка до разрешаване на режима


                                                                                                                                                                                               615

                                                                                                                                                                                CO1A0501 (SUM) - Регистриране на ОДН
                                                                                                                                                    598
          906
                                                                                                                                         Разрешен/неразрешен режим
                                                                                                                                         Р       /
        Грешка                                                                                                                                                                             SI0A0501–1
                           513                                                                                   509
                    Заявка за корекция                                                                   Решение по анулиране       CO1B1301 Разрешаване/неразр. на режима               EORI Интеграция
                                                                                                        SI060103-1 Обр.анулиране
                                    515                                                                                                          Разрешен?
                                    ЕАД                                                      528
                         Оформяне на                                                  Приемане на ЕАД
                                                                                                              Анулирана?                        не         да                          Регистриране на ОДН
                           място?          504
       От БИМИС                    Одобрение на корекция
                                                         505                     560                              да                   EXPNRE                  EXPREL
     към търговец?
                                                  Отказ на корекция       Решение за контрол                                       Неразрешен износ        Разрешен режим
                             да                                      514
                                                             Заявка за анулиране                                EXPCAN
                                                   не                                     не                   Анулирана                                                                   SI020400-1
                                           да                                                                                                             Стартиране TFUP                 Рисков анализ
            не ок
                         SI0A0502                                                                                                                             Таймер                            +
                       МОД интеграция                                                                                                      551             проследяване
                                                     ок
     906                                                                                                                           Износът неразрешен
   Грешка                                                                                                   Препращане на
                                                                                                         полученото съобщение
                                                                 Препращане на
                                                              полученото съобщение                                                                              529                           628
                                                                     EXPBIC                                                                               Износът разрешен              Приемане на ОДН
                                                                    В БИМИС


                                                                                                                                                                501
                                                                                                                                                        Очаквана пратка (ЕАД)
                                                                                                                                                                                               601
                                                                                                                                                                                      Очаквана пратка (ОДН)


                                                                                                                                                                                            EXPREG
                                                                                                                                                                                          Регистрирана
                                                                             Very well received
                                                                                  by client




                                                                                                                                                                                                           etc
ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT)   14



            BPM Implementation (jBPM)
• Implementation in
  jBPM follows closely
  the process
  specification.
• Most importantly, it
  is at almost the same
  level of abstraction
  (2-3x the nodes)
  because:
   • It doesn't indulge in
     low-level data
     munging
   • All common steps
     are outside of BPMS
ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT)   15




Model-Driven
 Generation
ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT)   16


  Generation Architecture

                                                                 • Red: manual work
                                                                 • Black: generated
ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT)   17



              Model-Driven Architecture
• The ECS2 architecture is heavily model-driven
   • The models are highly pragmatic and specific
   • You don't need expensive or heavy tools
   • All you need is Excel and a couple of good hackers
• UML models
   • We used sequence and activity diagrams for complex module design, class
                                                                    design
     diagrams for illustration only
   • Message definitions are given in MS Access database: we want to use it directly,
     not transcribe it in a UML tool (would be too much work for too little gain)
                ib i i              l(     ld b         h    kf        li l    i )
   • Transcription leads to bugs like "n..5 is maxInclusive=5" that stop ships (ECS1
     example)
           p )
ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT)   18




   GUI F t d
       Frontend
    Web 2.0 (JSF+AJAX), useful
features,
features lots of generation, integrated
                 generation
      Business Rules validation
ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT)                    19


GUI as Single Administrative Document (SAD)
                                                                      •   "Business payload" data laid out
                                                                          similar to paper form. Customs
                                                                          officers and traders know it by heart
                                                                      •   Pages split to Common (1) and
                                                                          Goods Item (up to 999)
                                                                      •   Layout made in Excel and the client
                                                                          can edit it
                                                                      •   Fields generated and laid out
                                                                          automatically
                                                                      •   Borders, backgrounds, fully
                                                                          zoomable
ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT)             20



GUI: Generated from Excel
                                                                           • Best news: the GUI
                                                                             is generated
                                                                           • Presentation
                                                                             attributes from
                                                                             schema.xls,
                                                                             validations from
                                                                             R&C metamodel,
                                                                             layout from
                                                                             forms.xls, lists of
                                                                             f        l li     f
                                                                             values/links from
                                                                             codelist.xls.
                                                                           • Very flexible and
                                                                             powerful. The client
                                                                             can edit any visual
                                                                             aspect. Th client
                                                                                      The li
                                                                             loves it.
ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT)                                      21


                      Validation: Business Rules
•   Consider this rule:                                          C010:IF first digit of "Transport mode at border" (box 25) = 2, 5 or 7
                                                                  THEN "Nationality crossing border" (box 21) is Optional ELSE Required

                                                                 C010.shipment/nationalityOfMeansOfTransportCrossingBorder.R
                                                                 not(sirma:RexexpMatch(../transportModeAtBorder,"^[257].*
•   Implementation in jxpath:                                      EN Required when "Transport mode at border" does not start with 2, 5 or 7
                                                                   BG Задължително когато "Вид транспорт на границата" не започва с 2, 5 или 7


•   At the GUI: box 25 doesn't start with [257] so the field is Required (yellow). In this way the user can see
    all erroneous fields at a glance. AJAX implementation: submits & receives only the changes.
•   If the user hovers over the field, the tooltip gives error description (red text) and all details about the field
    (tag name, box number, description, format, even codelist)




•   If an incoming message has this defect, the same rule implementation returns appropriate error message
     •   The error description (
                         p     (ErrDes) is Bilingual:
                                      )         g
     •   BG in DTI messages to trader
     •   EN in Common Domain messages
ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT)   22


                                          GUI: Features
• Hired a Usability consulting company (still most of the ideas are our own)
• Context-dependent "navbars" show important info
     •   User, office, role
         U      ffi      l
     •   Number of movements per state in the current office, which are Quick Search links (from CL9058)
     •   Currently selected movement (sticks even if you switch office type), with links to its data
     •   Available i
         A il bl actions (local and global); the most important ones are color-coded
                            (l l d l b l) h            i                      l      d d
     • Bold shows the current context ("breadcrumb")

• F ll type, length, regexp, requiredness, codelist, rules validation (yellow: required unfilled,
  Full t     l th                 i d          d li t l      lid ti ( ll           i d fill d
  red: erroneous). Tooltip with details about the field (tag, name, description, box number, error)
• Electronic signatures (digital certificates) used for
  trader access and document signing
     d             dd           i i



• The same forms are used for Customs Officer (ECS2 Web) and Trader (DTI Web)
    •    The navbars ("chrome") vary per user kind (customs officer, trader) and roles/permissions
• Goods Pager: efficiently handles up to 999 goods, add item [ ], direct jump, erroneous list
                                                             [+],
ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT)   23



                                       GUI: Features
• Highly interactive using AJAX triggers: changing a field causes partial submission, rules
  recalculation and partial refresh
• Web optimizations:
    •   The GUI is fully zoomable, ensuring optimal use of screen resolution
    •   CSS compliance, using a cross-browser CSS f
                    li     i            b             frameworkk
    •   XHTML doctype tagging, ensuring best browser compatibility mode
    •   All resources (CSS, JS, images) are properly marked for caching, ensuring the browser caches them
        for 1 month and reduces traffic
    •   Resource merge: all CSS and all JS files are merged, ensuring faster page processing time.
    •   Resource versioning: the build date is added to each resource filename, ensuring the browser will
        refetch it.
                it
    •   HTTP compression: main pages (business content) are gzipped to reduce traffic. The largest page
        zips to 10kB.
• Web traffic optimization was critical to enable centralization of ECS2 Web
    •   BICIS is distributed (120 instances across the country) .
    •   ECS1 Web is also distributed, while ECS1 Core is centralized, creating weird timeout problems
    •   ECS2 is centralized and ensures fast response time, even though some remote Customs Offices have
                                                         time
        bad connectivity (64-128 kbps)
    •   Client's sysadmin loves it. We love it too, it simplifies new version deployment immensely.
ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT)   24




  Direct Trader
  Input (DTI)
 e-Services for Traders and other
  Government Administrations
ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT)   25


           DTI Channels and Architecture
• Two electronic channels:
   • DTI Web is a web portal where smaller traders can submit declarations interactively,
     receive replies, etc
         i      li
   • DTI B2G is a system-to-system web-services interface
• Complies with BCA Security Policy
   •   Connections can be initiated only from inside
   •   Security zones that are strictly delineated through firewalls
   •   Message queues transport d f
       M                           data from outer to i
                                                      inner zones
   •   B2G channel is protected by VPN that each trader must connect to
• About 80% of the software architecture of DTI is shared with ECS2 Core
   • Data model, data access layer, classes/objects
   • Backend architecture: message processing pipelines
   • G general layout, business forms and generation technology
     GUI        ll       b i      f         d        i  h l
     Great wins in consistency and savings of effort
ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT)                                                                                                      26



       DTI Deployment Architecture
                Level 1                                                                  Level 2                                                                           Level 3



               Web Portal                                                                Check Server                                Response
                                                                                                                                     R                                      Server
                 Linux                                                                      Linux                                 (Requested only)
                                                 Response
                                              (Requested only)
           Application Server                                                     Application Server                                                                       ECS2 Core
               JBoss 5.x                                                              Jboss 5.x                                           Request
                                                      Request
                                                                                                                                             All
                                                                                  DTI_B2B                                                   ports
                                                                                                                                                                            JMS
               DTI_ONLINE
                                                                                                                                                                MQ
                                                                                                                     JMS                                     uutQueue                MessageFlowConfigOut
                                                                                                                                                           (Core-To-DTI)
                                                                  EjbModel (Hibernate)         MQReceiver
                                                                                                                                                               JMS
                 DTI_Online

                                                                                                                                              JMS

                                                                       MQSender                                        MQ
                                                                                                                  dtiInQueue
                                                                                                                 (Core-To-DTI)
JDBC
                                                                                                   JMS
                                                                                                                                                           MQManager
                                              JDBC


                                                                 JMS
                                                                   CwsDBService (jdbc)
                                                                                                                                                                            JMS
                                                                                                                                                     JMS

                                                                                                                      MQ
   CWS and ECS_DTI schemes                                                                                        dtiOutQueue
                                                     JDBC                                                        (DTI-To-Core)
                                                                                                                 (DTI To Core)
           Informix
           I f   i

                                                                                                                                                                            JMS
                                                                                                                     JMS
                                                                                                                                                                MQ
                                                                       WebServices          DTIMQOutHandler                                                  inQueue                  MessageFlowConfigIn
                                                                                                                                                           (DTI-To-Core)
                                                 JDBC




                                                                                                    All ports

                                   Firewall                                                                                Firewall

                    HTTP(S)                                                        HTTP


                                                                                         VPN Server
                        External
                        Domain

                                                                                           External Domain


                                                                                         VPN Client             B2B Application
                                                                                                   Trader System
ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT)            27



   DTI Scope: Actors Messages
              Actors,
                  515
                                                                          507
                  528
                                                                          521
                  513                                                     561
                  504                                                     522
                  505                                                                 Trader Carrier
                                                                          525            at Exit
                  514                                                     547
                  509                                                     548
 Trader                                                                   549
Declarant         560          Office of                                  906
                  529           Export                Office of
                  551                                   Exit              613
                                                                          605            Trader
                  582                                                     604         Representative
                  583                                                                    at Exit
                                                                          906
                  906
                  599                                                     613
                                                                          605
Other Govt                                                                604
                 599                                                                 Person Lodging
  Admin
                                                                          906           Summary
                                                                                       Declaration
                              Office of                        615
                             Lodgement                         628
                                                               906
ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT)         28


DTI Scope: Trader Processes
                                                                   • Trader
                                                                     Declarant
                                                                         • communicates
                                                                           with Office of
                                                                           Export
                                                                   • Processes
                                                                         •    Declaration
                                                                         •    Correction
                                                                         •    Cancellation
                                                                         •    Followup
ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT)   29



         DTI Scope: Trader Processes
• Person Lodging Summary Declaration and
  Trader Representative at Exit

• Trader Carrier at Exit
  • Export Operation
  • Exit Manifest
ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT)   30


               DTI Processing
                            g
ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT)   31


DTI GUI: Forms as in ECS2 GUI
ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT)   32


                 DTI GUI: Message List
                               g




•   Search by various fields
•   Message status is indicated with an icon
•   Trader can see only messages that "belong" to him
•   Trader can review message as form or download XML content
ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT)   33


                                         DTI Security
                                                    y
• Requires prior registration with electronic
  signature, including Power of Representation
   • Shared for DTI Transit and DTI Export
• Uses electronic signatures for trader
  identification and document signing (non-
  repudiation)
• Supports any certificate provider
  wt
  with PKCS#11 API (Charismatics, Siemens,
           CS#         (C a s at cs, S e e s,
  SafeNet, Datakey, ActivCard Gold, Setec SetWeb,
  Gemplus, Utimaco SafeGuard, ActiveKey, Aladdin, …)




• Ensures that traders can:
   •   Only read messages that "belong" to them
                                belong
   •   Only send messages in their own name
   •   Both Web (browser) and B2G (WS-Signature)
ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT)   34



        DTI G2G: Other Administrations
• G2G web service allowing other administrations to receive information about
  completed exports
   • National Revenue Agency (NRA): for VAT payback
   • The only system-to-system connection between NRA and BCA
   • National Agricultural Fund: CAP-related exports
• Store-and-forward (like an email box), Uses server certificates for security
• Defined XML message BG599B (225 fields/groups): replaces the paper document
ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT)   35



                                     Conclusions
• ECS2 is an example of a substantial eGovernment system developed
  in
  i an efficient manner, with little fanfare and not a lot of money
        ffi i             i h li l f f         d       l    f
   • The ECS2 project costs 750k EUR, of which DTI is 10% (75k EUR)
   • ECS2 DTI scope includes 28 messages grouped in 7 trader processes, so this
                                                              processes
     represents between 7 and 28 services, depending on how you count it
   • Compare this to 30M EUR spent on central eGov projects and 13 services
• ECS2 DTI is a real eGovernment service in heavy use: 80-100,000
  export movements (500,000 messages) per month
   • ECS2 saves significant time to both BCA and traders, eliminating manual data
     re-entry and incremental chasing of errors
• Key success factors:
   • Real needs and (more or less) clear specifications mandated by EC TAXUD
   • Excellent collaboration between the Developer (
                                                 p (Sirma) and Client (
                                                           )          (BCA)
                                                                          )
ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT)   36




   Who A We
   Wh Are W
ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT)   37



                  Who Are We (Company)
• Sirma Group Holding is one of the largest private Bulgarian software development
  and IT consulting holdings
   • 18 years of history, 450 staff, 9 daughter companies, 5 Joint Ventures. Offices in 5
     Bulgarian cities and 3 overseas. See more at www.sirma.bg (BG), www.sirma.com (EN)
• Sirma Solutions Corp is the backbone of Sirma
   • 150 staff, government and private projects, outsourced development, incubation of new
     ideas and units. Inherited Sirma's history and goodwill at corporate reorganization (when
                                              y     g              p          g          (
     the holding was setup)
• Sirma ITT specializes in complex e-Government projects
   • 5 years of history, 40 staff (Ruse 30, Sofia 8, Varna 2), young (average age 23)
                history                 30        8        2)
   • One of the few BG companies who raises its own staff through cooperation with
     universities
   • Focus on JEE, SOA BPM, RUP, UML.
                     SOA,
• Sirma bought ITT in late 2007 to add its experience and management practices
   • Several joint projects in the customs/excise area
             j     p j
   • Teams shared between Solutions and ITT and fully integrated
ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT)     38



                              Who Am I (Author)
•   Sirma Group founder and CTO of Sirma Solutions
•   Starting Sirma IT C
    S i up S             Consulting unit
                              l       i
•   MS and PhD degrees in computer science, PMP certification
•   18 years of IT experience
•   Lecturing in IT Project Management at the Masters Level:
     •   University of Ruse: MS in Software Engineering program (sponsored by Sirma)
     •   Varna Free University: MS in Software Engineering program (sponsored by Sirma)
     •   New Bulgarian University: MS in IT Project Management (joint with Bulgarian Academy of
         Sciences)
• Returned h
          d home after 12 years i Canada
                  f             in     d
• My dream is to see more effective IT use, efficient eGovernment and less corruption
  in Bulgaria
        g
     •   These goals are inter-related
     •   So far eGovernment projects have spent a lot of money, but have had little effect
     •   So far the emphasis has been on strategies legal framework and central infrastructure, and NOT on
                                         strategies,                            infrastructure
         rich and varied services
ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT)   39



             ECS2 for IT Project 2009
• Nominated in Computerworld Bulgaria annual competition
• Top 3 amongst 9 submissions in the Government area
• Pictured: IT vice-minister Parvan Rusinov, Sirma CTO/PM Vladimir
  Alexiev, Sirma ITT CEO Yavor Djonev, BCA PM Teodor Martev
ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT)   40



                Thanks for your time!
• Questions/discussion?
  Q
• Contacts: vladimir@sirma.bg, +359 (888) 568 132,
  callto://valexiev1

Más contenido relacionado

Similar a Cost-effective e-Government Services: Export Control System phase 2 (ECS2)

Patterns&Practices-Errai
Patterns&Practices-ErraiPatterns&Practices-Errai
Patterns&Practices-Errai
hbraun
 
Gustavo Garnica: Evolución de la Plataforma Java y lo que Significa para Ti
Gustavo Garnica: Evolución de la Plataforma Java y lo que Significa para TiGustavo Garnica: Evolución de la Plataforma Java y lo que Significa para Ti
Gustavo Garnica: Evolución de la Plataforma Java y lo que Significa para Ti
Software Guru
 

Similar a Cost-effective e-Government Services: Export Control System phase 2 (ECS2) (20)

Discovering Vulnerabilities For Fun and Profit
Discovering Vulnerabilities For Fun and ProfitDiscovering Vulnerabilities For Fun and Profit
Discovering Vulnerabilities For Fun and Profit
 
MBE Summit 2012
MBE Summit 2012MBE Summit 2012
MBE Summit 2012
 
Patterns&Practices-Errai
Patterns&Practices-ErraiPatterns&Practices-Errai
Patterns&Practices-Errai
 
PEARC17: Live Integrated Visualization Environment: An Experiment in General...
PEARC17: Live Integrated Visualization Environment: An Experiment in General...PEARC17: Live Integrated Visualization Environment: An Experiment in General...
PEARC17: Live Integrated Visualization Environment: An Experiment in General...
 
Gib 2021 - Intro to BizTalk Migrator
Gib 2021 - Intro to BizTalk MigratorGib 2021 - Intro to BizTalk Migrator
Gib 2021 - Intro to BizTalk Migrator
 
Gustavo Garnica: Evolución de la Plataforma Java y lo que Significa para Ti
Gustavo Garnica: Evolución de la Plataforma Java y lo que Significa para TiGustavo Garnica: Evolución de la Plataforma Java y lo que Significa para Ti
Gustavo Garnica: Evolución de la Plataforma Java y lo que Significa para Ti
 
Microservices: The Best Practices
Microservices: The Best PracticesMicroservices: The Best Practices
Microservices: The Best Practices
 
Architectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and ConsistentlyArchitectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and Consistently
 
Architectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and ConsistentlyArchitectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and Consistently
 
Forefront Identity Manager
Forefront Identity ManagerForefront Identity Manager
Forefront Identity Manager
 
Puppet devops wdec
Puppet devops wdecPuppet devops wdec
Puppet devops wdec
 
Patterns and Pains of Migrating Legacy Applications to Kubernetes
Patterns and Pains of Migrating Legacy Applications to KubernetesPatterns and Pains of Migrating Legacy Applications to Kubernetes
Patterns and Pains of Migrating Legacy Applications to Kubernetes
 
Patterns and Pains of Migrating Legacy Applications to Kubernetes
Patterns and Pains of Migrating Legacy Applications to KubernetesPatterns and Pains of Migrating Legacy Applications to Kubernetes
Patterns and Pains of Migrating Legacy Applications to Kubernetes
 
SharePoint Best Practices Conference 2013
SharePoint Best Practices Conference 2013SharePoint Best Practices Conference 2013
SharePoint Best Practices Conference 2013
 
John adams talk cloudy
John adams   talk cloudyJohn adams   talk cloudy
John adams talk cloudy
 
Mihai_Nuta
Mihai_NutaMihai_Nuta
Mihai_Nuta
 
Jug Zurich Slides
Jug Zurich SlidesJug Zurich Slides
Jug Zurich Slides
 
Foresight
ForesightForesight
Foresight
 
GWT Jug Stuttgart
GWT Jug StuttgartGWT Jug Stuttgart
GWT Jug Stuttgart
 
Software Architecture and Architectors: useless VS valuable
Software Architecture and Architectors: useless VS valuableSoftware Architecture and Architectors: useless VS valuable
Software Architecture and Architectors: useless VS valuable
 

Más de Vladimir Alexiev, PhD, PMP

Semantic Archive Integration for Holocaust Research: the EHRI Research Infras...
Semantic Archive Integration for Holocaust Research: the EHRI Research Infras...Semantic Archive Integration for Holocaust Research: the EHRI Research Infras...
Semantic Archive Integration for Holocaust Research: the EHRI Research Infras...
Vladimir Alexiev, PhD, PMP
 

Más de Vladimir Alexiev, PhD, PMP (20)

Semantics and Machine Learning
Semantics and Machine LearningSemantics and Machine Learning
Semantics and Machine Learning
 
Museum LOD (Ontotext, 1 May 2019, Doha, Qatar)
Museum LOD (Ontotext, 1 May 2019, Doha, Qatar)Museum LOD (Ontotext, 1 May 2019, Doha, Qatar)
Museum LOD (Ontotext, 1 May 2019, Doha, Qatar)
 
Linked Open Data and Ontotext Projects
Linked Open Data and Ontotext ProjectsLinked Open Data and Ontotext Projects
Linked Open Data and Ontotext Projects
 
Museum Linked Open Data: Ontologies, Datasets, Projects
Museum Linked Open Data: Ontologies, Datasets, Projects Museum Linked Open Data: Ontologies, Datasets, Projects
Museum Linked Open Data: Ontologies, Datasets, Projects
 
Ontotext Cultural Heritage and Digital Humanities Projects
Ontotext Cultural Heritage and Digital Humanities ProjectsOntotext Cultural Heritage and Digital Humanities Projects
Ontotext Cultural Heritage and Digital Humanities Projects
 
euBusinessGraph Company and Economic Data
euBusinessGraph Company and Economic DataeuBusinessGraph Company and Economic Data
euBusinessGraph Company and Economic Data
 
Semantic Archive Integration for Holocaust Research: the EHRI Research Infras...
Semantic Archive Integration for Holocaust Research: the EHRI Research Infras...Semantic Archive Integration for Holocaust Research: the EHRI Research Infras...
Semantic Archive Integration for Holocaust Research: the EHRI Research Infras...
 
GLAMs working with Wikidata
GLAMs working with WikidataGLAMs working with Wikidata
GLAMs working with Wikidata
 
Wikidata, a target for Europeana’s semantic strategy (Glam-Wiki 2015)
Wikidata, a target for Europeana’s semantic strategy (Glam-Wiki 2015)Wikidata, a target for Europeana’s semantic strategy (Glam-Wiki 2015)
Wikidata, a target for Europeana’s semantic strategy (Glam-Wiki 2015)
 
Europeana Food and Drink Classification Scheme
Europeana Food and Drink Classification SchemeEuropeana Food and Drink Classification Scheme
Europeana Food and Drink Classification Scheme
 
Adding a DBpedia Mapping
Adding a DBpedia MappingAdding a DBpedia Mapping
Adding a DBpedia Mapping
 
DBpedia Ontology and Mapping Problems
DBpedia Ontology and Mapping ProblemsDBpedia Ontology and Mapping Problems
DBpedia Ontology and Mapping Problems
 
20140521 sem-tech-biz-guest-lecture
20140521 sem-tech-biz-guest-lecture20140521 sem-tech-biz-guest-lecture
20140521 sem-tech-biz-guest-lecture
 
Semantic Technology in Publishing & Finance
Semantic Technology in Publishing & FinanceSemantic Technology in Publishing & Finance
Semantic Technology in Publishing & Finance
 
Getty Vocabulary Program LOD: Ontologies and Semantic Representation
Getty Vocabulary Program LOD: Ontologies and Semantic RepresentationGetty Vocabulary Program LOD: Ontologies and Semantic Representation
Getty Vocabulary Program LOD: Ontologies and Semantic Representation
 
Getty Vocabulary Program LOD: Ontologies and Semantic Representation
Getty Vocabulary Program LOD: Ontologies and Semantic RepresentationGetty Vocabulary Program LOD: Ontologies and Semantic Representation
Getty Vocabulary Program LOD: Ontologies and Semantic Representation
 
Sem tech in CH, Linked Data Meetup, 2014-08-21, Malmo, Sweden
Sem tech in CH, Linked Data Meetup, 2014-08-21, Malmo, SwedenSem tech in CH, Linked Data Meetup, 2014-08-21, Malmo, Sweden
Sem tech in CH, Linked Data Meetup, 2014-08-21, Malmo, Sweden
 
Semantic technologies for cultural heritage
Semantic technologies for cultural heritageSemantic technologies for cultural heritage
Semantic technologies for cultural heritage
 
Europeana Creative. EDM Endpoint. Custom Views
Europeana Creative. EDM Endpoint. Custom ViewsEuropeana Creative. EDM Endpoint. Custom Views
Europeana Creative. EDM Endpoint. Custom Views
 
Europeana Creative. EDM Endpoint. Custom Views
Europeana Creative. EDM Endpoint. Custom ViewsEuropeana Creative. EDM Endpoint. Custom Views
Europeana Creative. EDM Endpoint. Custom Views
 

Último

Último (20)

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 

Cost-effective e-Government Services: Export Control System phase 2 (ECS2)

  • 1. ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT) 1 Cost-effective e-Government Services Export Control System phase 2 (ECS2) Vladimir Alexiev, PhD, PMP CTO, CTO Sirma Solutions Corp Bulgaria-Korea IT Experts Workshop Sofia, Bulgaria, 25.2.2010 fi l i
  • 2. ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT) 2 Outline • Who We Are • What is Wh t i ECS2 • Tools and Technologies • Data Model • Model Driven Model-Driven Generation • System Architecture • Business Process Modeling and BPMS B i P M d li d • XPath-based DSL (Assignments, Rules and Conditions) • GUI Generation and Features • Deployment Model ep oy e t ode
  • 3. ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT) 3 What is Wh t i ECS2
  • 4. ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT) 4 What is ECS2? • Trans-European system involving 31 countries • Coordinated by DG Taxation and Customs Union (TAXUD) • Client: Bulgarian Customs Administration (BCA) • Strict timeline. "Only" 6 countries were late. BG ECS2 was deployed on time on 1 July 2009 • 11 months from start to production (some national functionalities finished 3m later) • Including Conformance Testing with EC (and fixing bugs in the CT!), deployment and training with BCA • Used intensively: currently handles 80-100,000 export movements (500,000 messages) per month. • Users: 3500 customs officers, 200,000 potential traders • Bulgarian Industrial Association is teaching traders how to use Electronic Declaration (paid trainings) l i d i l i i i hi d h l i l i ( id i i ) • Large project: 45 message types averaging 100 fields each, 50 Elementary Business Processes (EBP), 30 man/years of effort. Subsystems: • ECS2 Core : message processing (in/outflow), business process persistence (in/outflow) process, • ECS2 Web: customs officers data view/entry • DTI B2B: Direct Trader Interface for system-to-system electronic declaration processing • DTI Web: trader portal for interactive entry of electronic declarations ( p y (manual or XML from file) ) • Messaging: EU (CCN/CSI communication, Redix), DTI (db/webservices), BICIS (webservices) • Routing between ECS1 and ECS2 (complex transition period!) • Processing Reference Data, Customs Office List, Unavailability (RD/COL/UNA) • External system integration (BICIS, CAS, RA, SDM, EORI/AEO, TARIC, other gov agencies) • Printing (Single Administrative Document), Reporting • Administration (Core and DTI)
  • 5. ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT) 5 The Legacy: ECS1 • Executed during 2006-2007, deployed in Jul 2007 • Big problems with project organization and software architecture • System development continued for 14 months after deployment, some parts never deployed • Big problems with stability, performance and bugs. • ITT was subcontractor, so we knew the business and all problems first-hand b k h b i d ll bl fi h d • Problems with the tools used • Process Server: heavy XML munching leading to bad performance • Therefore no long-running processes and human tasks used used as a data flow engine, not a real BPMS • Message Broker: used only for XML-XML conversion not worth the overhead • Architecture is not modular • Disparate technologies used for Core and DTI, different GUI technologies • All message munching is left to Process Server ( g g (Websphere Integration Developer) p g p ) • Common steps such as validation, object construction, etc are not modularized • 50 disparate processes ("phases") of ~40 steps each: huge complexity, no reuse Impossible to modify or extend p y Together with the client made the hard decision to rewrite ECS1, instead of trying to build on a shaky foundation
  • 6. ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT) 6 Our Approach • Immediately (first 3 months) ran an architectural pilot • E l t d IBM vs open source Evaluated • Picking tools was the "easy part": trust nothing, try everything, be modern but not bleeding edge • Finding the architectural approach was the hard part: • Too complex data generation of as many artifacts as possible is key to consistent implementation. p • Too much data share sub-objects, copy/pass references only • Share data beans (stateful Hibernate session) between all core components • Too much processing strict code modularization and factoring • All process-independent steps are done outside of the BPMS • Screens are reused between core and DTI systems as much as possible • T many Rules & Conditions (250, revised daily) i Too R l C di i (250 i d d il ) invented XPath b d DSL the d XP h based DSL, h same R&C are used in offline and GUI interactive validation • Complex processes (and some unclear/buggy TAXUD specs) design processes visually, clarify with client numerous times, implement in BPMS
  • 7. ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT) 7 Tools and Technologies Selected Open Source or inexpensive tools, tools instead of proprietary expensive ones
  • 8. ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT) 8 • Servers Tools and Technologies g • JBoss AS 5.0.1: application server • Frameworks/libraries • JBoss Seam 2.1: application framework, • JBoss Messaging: message queuing IoC container • jBPM 3.3: business process execution • EJB 3.0: object model • Informix Dynamic Server 10 FC8: • JPA/Hibernate 3.3.2: persistence and database server (client requirement) ( q ) O/R mapping i • Tools • JSF 1.2: web framework • JBoss Tools 3.0: development IDE • Facelets: JSF templating engine • H d Hudson: continuous integration ti i t ti • RichFaces 3.3: JSF AJAX library • CheckStyle: static analysis, coding • JiBX 1.1: XML/Java binding conventions ( (serialization/deserialization)) • Subversion source control, EclipseSVN • Dozer 4.4.1: object graph cloning (deep • TestNG 5.8: unit testing copy), used sparingly • DBUnit: database testing • JXPath 1 2: DSL for message 1.2: • MS Project: planning assignments, R&C validation • Jira: task tracking • Saxon 9: XSLT transformations • Vi i process modeling Visio: d li • J Jasper reports 3 1 3 reporting, printing 3.1.3: i i i • Word: specification writing Single Admin Doc • Wiki: engineering notes / collaboration • Log4J: structured logging
  • 9. ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT) 9 Deployment Model • Open Source operating system: RedHat Enterprise p p g y p Linux • Database: Informix Informix, • Open Source Java Enterprise Edition stack: JBoss, JEE 6, EJB 3, JSF • Centralized (ECS1 was semi-distributed) • Dedicated servers (ECS1 shares server with 4-5 other applications, sometimes crashed)
  • 10. ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT) 10 Deployment Model p y Level 1 Level 2 Level 3 Web Portal BTMS Check Server BCA Server Farm Linux Linux Application Server JBoss 4 Application Server Web applications JBoss 4 Response EORI/ TARIC AEO (Requested only) BTMS_ONLINE Web applications BICIS Request DBMS Informix 10 CS_BTMS SDM CAS RA JDBC Database: CWS Database: ECS2 Users Declarations Application Server JBoss 5 JDBC ECS2 Core Web Services JDBC Входящ Мениджър конвейр Интерп на ретатор съобщени на Application Server JMS ята Изходящ съобще Response JBoss 5 (Requested only) ECS2_B2B конвейр ния ECS2. Web applications Core JMS JMS DB MQ Redix Request ED_to_ECS2Core jCSI / CSI JBPM JBPM ECS2_Online DB Мениджър на JMS JMS потребителския интерфейс MQ ECS2Core_to_ED All ports All ports Firewall Firewall Firewall HTTP HTTP(S) VPN Server VPN Server External Domain External Domain Common Domain TARIC EORI/AEO VPN Client B2B Application MQ MQ MQ MQ in Trader System MQ MQ out in out in out
  • 11. ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT) 11 ECS2 System y Architecture
  • 12. ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT) 12 ECS2 Backend Architecture • All process-independent data munching, scrubbing and washing i d hi is done i one place, outside BPMS in l t id
  • 13. ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT) 13 BPM Specification (BPMN/Visio) p ( ) (null, EXPBIC) SI1А0000 Обработка до разрешаване на режима 615 CO1A0501 (SUM) - Регистриране на ОДН 598 906 Разрешен/неразрешен режим Р / Грешка SI0A0501–1 513 509 Заявка за корекция Решение по анулиране CO1B1301 Разрешаване/неразр. на режима EORI Интеграция SI060103-1 Обр.анулиране 515 Разрешен? ЕАД 528 Оформяне на Приемане на ЕАД Анулирана? не да Регистриране на ОДН място? 504 От БИМИС Одобрение на корекция 505 560 да EXPNRE EXPREL към търговец? Отказ на корекция Решение за контрол Неразрешен износ Разрешен режим да 514 Заявка за анулиране EXPCAN не не Анулирана SI020400-1 да Стартиране TFUP Рисков анализ не ок SI0A0502 Таймер + МОД интеграция 551 проследяване ок 906 Износът неразрешен Грешка Препращане на полученото съобщение Препращане на полученото съобщение 529 628 EXPBIC Износът разрешен Приемане на ОДН В БИМИС 501 Очаквана пратка (ЕАД) 601 Очаквана пратка (ОДН) EXPREG Регистрирана Very well received by client etc
  • 14. ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT) 14 BPM Implementation (jBPM) • Implementation in jBPM follows closely the process specification. • Most importantly, it is at almost the same level of abstraction (2-3x the nodes) because: • It doesn't indulge in low-level data munging • All common steps are outside of BPMS
  • 15. ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT) 15 Model-Driven Generation
  • 16. ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT) 16 Generation Architecture • Red: manual work • Black: generated
  • 17. ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT) 17 Model-Driven Architecture • The ECS2 architecture is heavily model-driven • The models are highly pragmatic and specific • You don't need expensive or heavy tools • All you need is Excel and a couple of good hackers • UML models • We used sequence and activity diagrams for complex module design, class design diagrams for illustration only • Message definitions are given in MS Access database: we want to use it directly, not transcribe it in a UML tool (would be too much work for too little gain) ib i i l( ld b h kf li l i ) • Transcription leads to bugs like "n..5 is maxInclusive=5" that stop ships (ECS1 example) p )
  • 18. ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT) 18 GUI F t d Frontend Web 2.0 (JSF+AJAX), useful features, features lots of generation, integrated generation Business Rules validation
  • 19. ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT) 19 GUI as Single Administrative Document (SAD) • "Business payload" data laid out similar to paper form. Customs officers and traders know it by heart • Pages split to Common (1) and Goods Item (up to 999) • Layout made in Excel and the client can edit it • Fields generated and laid out automatically • Borders, backgrounds, fully zoomable
  • 20. ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT) 20 GUI: Generated from Excel • Best news: the GUI is generated • Presentation attributes from schema.xls, validations from R&C metamodel, layout from forms.xls, lists of f l li f values/links from codelist.xls. • Very flexible and powerful. The client can edit any visual aspect. Th client The li loves it.
  • 21. ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT) 21 Validation: Business Rules • Consider this rule: C010:IF first digit of "Transport mode at border" (box 25) = 2, 5 or 7 THEN "Nationality crossing border" (box 21) is Optional ELSE Required C010.shipment/nationalityOfMeansOfTransportCrossingBorder.R not(sirma:RexexpMatch(../transportModeAtBorder,"^[257].* • Implementation in jxpath: EN Required when "Transport mode at border" does not start with 2, 5 or 7 BG Задължително когато "Вид транспорт на границата" не започва с 2, 5 или 7 • At the GUI: box 25 doesn't start with [257] so the field is Required (yellow). In this way the user can see all erroneous fields at a glance. AJAX implementation: submits & receives only the changes. • If the user hovers over the field, the tooltip gives error description (red text) and all details about the field (tag name, box number, description, format, even codelist) • If an incoming message has this defect, the same rule implementation returns appropriate error message • The error description ( p (ErrDes) is Bilingual: ) g • BG in DTI messages to trader • EN in Common Domain messages
  • 22. ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT) 22 GUI: Features • Hired a Usability consulting company (still most of the ideas are our own) • Context-dependent "navbars" show important info • User, office, role U ffi l • Number of movements per state in the current office, which are Quick Search links (from CL9058) • Currently selected movement (sticks even if you switch office type), with links to its data • Available i A il bl actions (local and global); the most important ones are color-coded (l l d l b l) h i l d d • Bold shows the current context ("breadcrumb") • F ll type, length, regexp, requiredness, codelist, rules validation (yellow: required unfilled, Full t l th i d d li t l lid ti ( ll i d fill d red: erroneous). Tooltip with details about the field (tag, name, description, box number, error) • Electronic signatures (digital certificates) used for trader access and document signing d dd i i • The same forms are used for Customs Officer (ECS2 Web) and Trader (DTI Web) • The navbars ("chrome") vary per user kind (customs officer, trader) and roles/permissions • Goods Pager: efficiently handles up to 999 goods, add item [ ], direct jump, erroneous list [+],
  • 23. ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT) 23 GUI: Features • Highly interactive using AJAX triggers: changing a field causes partial submission, rules recalculation and partial refresh • Web optimizations: • The GUI is fully zoomable, ensuring optimal use of screen resolution • CSS compliance, using a cross-browser CSS f li i b frameworkk • XHTML doctype tagging, ensuring best browser compatibility mode • All resources (CSS, JS, images) are properly marked for caching, ensuring the browser caches them for 1 month and reduces traffic • Resource merge: all CSS and all JS files are merged, ensuring faster page processing time. • Resource versioning: the build date is added to each resource filename, ensuring the browser will refetch it. it • HTTP compression: main pages (business content) are gzipped to reduce traffic. The largest page zips to 10kB. • Web traffic optimization was critical to enable centralization of ECS2 Web • BICIS is distributed (120 instances across the country) . • ECS1 Web is also distributed, while ECS1 Core is centralized, creating weird timeout problems • ECS2 is centralized and ensures fast response time, even though some remote Customs Offices have time bad connectivity (64-128 kbps) • Client's sysadmin loves it. We love it too, it simplifies new version deployment immensely.
  • 24. ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT) 24 Direct Trader Input (DTI) e-Services for Traders and other Government Administrations
  • 25. ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT) 25 DTI Channels and Architecture • Two electronic channels: • DTI Web is a web portal where smaller traders can submit declarations interactively, receive replies, etc i li • DTI B2G is a system-to-system web-services interface • Complies with BCA Security Policy • Connections can be initiated only from inside • Security zones that are strictly delineated through firewalls • Message queues transport d f M data from outer to i inner zones • B2G channel is protected by VPN that each trader must connect to • About 80% of the software architecture of DTI is shared with ECS2 Core • Data model, data access layer, classes/objects • Backend architecture: message processing pipelines • G general layout, business forms and generation technology GUI ll b i f d i h l Great wins in consistency and savings of effort
  • 26. ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT) 26 DTI Deployment Architecture Level 1 Level 2 Level 3 Web Portal Check Server Response R Server Linux Linux (Requested only) Response (Requested only) Application Server Application Server ECS2 Core JBoss 5.x Jboss 5.x Request Request All DTI_B2B ports JMS DTI_ONLINE MQ JMS uutQueue MessageFlowConfigOut (Core-To-DTI) EjbModel (Hibernate) MQReceiver JMS DTI_Online JMS MQSender MQ dtiInQueue (Core-To-DTI) JDBC JMS MQManager JDBC JMS CwsDBService (jdbc) JMS JMS MQ CWS and ECS_DTI schemes dtiOutQueue JDBC (DTI-To-Core) (DTI To Core) Informix I f i JMS JMS MQ WebServices DTIMQOutHandler inQueue MessageFlowConfigIn (DTI-To-Core) JDBC All ports Firewall Firewall HTTP(S) HTTP VPN Server External Domain External Domain VPN Client B2B Application Trader System
  • 27. ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT) 27 DTI Scope: Actors Messages Actors, 515 507 528 521 513 561 504 522 505 Trader Carrier 525 at Exit 514 547 509 548 Trader 549 Declarant 560 Office of 906 529 Export Office of 551 Exit 613 605 Trader 582 604 Representative 583 at Exit 906 906 599 613 605 Other Govt 604 599 Person Lodging Admin 906 Summary Declaration Office of 615 Lodgement 628 906
  • 28. ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT) 28 DTI Scope: Trader Processes • Trader Declarant • communicates with Office of Export • Processes • Declaration • Correction • Cancellation • Followup
  • 29. ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT) 29 DTI Scope: Trader Processes • Person Lodging Summary Declaration and Trader Representative at Exit • Trader Carrier at Exit • Export Operation • Exit Manifest
  • 30. ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT) 30 DTI Processing g
  • 31. ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT) 31 DTI GUI: Forms as in ECS2 GUI
  • 32. ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT) 32 DTI GUI: Message List g • Search by various fields • Message status is indicated with an icon • Trader can see only messages that "belong" to him • Trader can review message as form or download XML content
  • 33. ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT) 33 DTI Security y • Requires prior registration with electronic signature, including Power of Representation • Shared for DTI Transit and DTI Export • Uses electronic signatures for trader identification and document signing (non- repudiation) • Supports any certificate provider wt with PKCS#11 API (Charismatics, Siemens, CS# (C a s at cs, S e e s, SafeNet, Datakey, ActivCard Gold, Setec SetWeb, Gemplus, Utimaco SafeGuard, ActiveKey, Aladdin, …) • Ensures that traders can: • Only read messages that "belong" to them belong • Only send messages in their own name • Both Web (browser) and B2G (WS-Signature)
  • 34. ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT) 34 DTI G2G: Other Administrations • G2G web service allowing other administrations to receive information about completed exports • National Revenue Agency (NRA): for VAT payback • The only system-to-system connection between NRA and BCA • National Agricultural Fund: CAP-related exports • Store-and-forward (like an email box), Uses server certificates for security • Defined XML message BG599B (225 fields/groups): replaces the paper document
  • 35. ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT) 35 Conclusions • ECS2 is an example of a substantial eGovernment system developed in i an efficient manner, with little fanfare and not a lot of money ffi i i h li l f f d l f • The ECS2 project costs 750k EUR, of which DTI is 10% (75k EUR) • ECS2 DTI scope includes 28 messages grouped in 7 trader processes, so this processes represents between 7 and 28 services, depending on how you count it • Compare this to 30M EUR spent on central eGov projects and 13 services • ECS2 DTI is a real eGovernment service in heavy use: 80-100,000 export movements (500,000 messages) per month • ECS2 saves significant time to both BCA and traders, eliminating manual data re-entry and incremental chasing of errors • Key success factors: • Real needs and (more or less) clear specifications mandated by EC TAXUD • Excellent collaboration between the Developer ( p (Sirma) and Client ( ) (BCA) )
  • 36. ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT) 36 Who A We Wh Are W
  • 37. ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT) 37 Who Are We (Company) • Sirma Group Holding is one of the largest private Bulgarian software development and IT consulting holdings • 18 years of history, 450 staff, 9 daughter companies, 5 Joint Ventures. Offices in 5 Bulgarian cities and 3 overseas. See more at www.sirma.bg (BG), www.sirma.com (EN) • Sirma Solutions Corp is the backbone of Sirma • 150 staff, government and private projects, outsourced development, incubation of new ideas and units. Inherited Sirma's history and goodwill at corporate reorganization (when y g p g ( the holding was setup) • Sirma ITT specializes in complex e-Government projects • 5 years of history, 40 staff (Ruse 30, Sofia 8, Varna 2), young (average age 23) history 30 8 2) • One of the few BG companies who raises its own staff through cooperation with universities • Focus on JEE, SOA BPM, RUP, UML. SOA, • Sirma bought ITT in late 2007 to add its experience and management practices • Several joint projects in the customs/excise area j p j • Teams shared between Solutions and ITT and fully integrated
  • 38. ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT) 38 Who Am I (Author) • Sirma Group founder and CTO of Sirma Solutions • Starting Sirma IT C S i up S Consulting unit l i • MS and PhD degrees in computer science, PMP certification • 18 years of IT experience • Lecturing in IT Project Management at the Masters Level: • University of Ruse: MS in Software Engineering program (sponsored by Sirma) • Varna Free University: MS in Software Engineering program (sponsored by Sirma) • New Bulgarian University: MS in IT Project Management (joint with Bulgarian Academy of Sciences) • Returned h d home after 12 years i Canada f in d • My dream is to see more effective IT use, efficient eGovernment and less corruption in Bulgaria g • These goals are inter-related • So far eGovernment projects have spent a lot of money, but have had little effect • So far the emphasis has been on strategies legal framework and central infrastructure, and NOT on strategies, infrastructure rich and varied services
  • 39. ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT) 39 ECS2 for IT Project 2009 • Nominated in Computerworld Bulgaria annual competition • Top 3 amongst 9 submissions in the Government area • Pictured: IT vice-minister Parvan Rusinov, Sirma CTO/PM Vladimir Alexiev, Sirma ITT CEO Yavor Djonev, BCA PM Teodor Martev
  • 40. ECS2 at Bulgaria-Korea IT Experts Workshop, 25.2.2010 (Sirma Solutions & Sirma ITT) 40 Thanks for your time! • Questions/discussion? Q • Contacts: vladimir@sirma.bg, +359 (888) 568 132, callto://valexiev1