SlideShare a Scribd company logo
Reliable
                             Extensible
      Engineering            Maintainable
                                                   Solutions
                             Scalable



                          Raman Kannan




rk2153 AT gmail DOT com      Design and Analysis               1
Design
• It is a creative process
• There is no best design – wicked science
• Important lessons learned
     – Architecture is the key for operational stability
     – Capturing the design intent is key – corporate
       memory
     – Building the right product is key for alignment
           • Building “some product” right is irrelevant
     – Simplicity always triumphs over complexity

rk2153 AT gmail DOT com        Design and Analysis         2
Delay concrete decisions
• Abstract – Architecture
     – Parts and their relationships
     – Their interactions with the environment
       (outside view)
• Refine, elaborate independent parts
• Design for abstract interaction
     – Substitutionality principle -- Liskov
     – Reduce rigid coupling between systems

rk2153 AT gmail DOT com   Design and Analysis    3
Evolving an Equity Trading
       Platform to other asset classes




rk2153 AT gmail DOT com   Design and Analysis   4
Trading Platform




                           http://assetcorporation.net/existing/trading_platform.html
                           Implementing business functions independently and integrating
                           them fosters engineering efficiency and software reuse.
                           Allows component wise replacement and incremental
                           improvements.


rk2153 AT gmail DOT com                 Design and Analysis                                5
Design for Change!
• 1996/1997 predates SOA or JBOSS or SOAP
• Should this system be migrated to newer
  frameworks?
                 – The current solution is factored well but
                 – Lack of centralized approach results in duplication
                     » Stop/start, error/status monitor, logging, concurrency,
                       recovery, component administration, resource pooling
                 – Each component interacts with DB directly
                     » Structure of data is not standardized
                     » Duplication and multiple database connections
                 – Not easy to combine/replace existing
                     » introduce new (Position, Risk, Revenue,Breaks)
                     » or external services (EMS, ALGO service, etc)
  SOA can offer relief.


rk2153 AT gmail DOT com               Design and Analysis                        6
New Platform
• Get rid of application specific data structures
     – XML based Order, Trade, Position,Task, Confirms, Reports,
       Permissions, SecurityTypes
     – Platform NOW is a collection of
           • XML generators(sources) and processors(sinks)
           • Asset classes can be introduced
                 – Each with their own events, analytics and lifecycles
                 – Introducing SWAP novation need not and will not affect unrelated
           • New attributes may be added (taker/provider rebate for trade)
           • Persistent Store can be a special processor
                 – All other components are db independent
                 – DB can be replaced as needed
           • Sources and Sink may transform using XSL

 Platform is now data centric and SOAP/XML is ideal.

rk2153 AT gmail DOT com                Design and Analysis                            7
Implementation                   aka Observable


• Choose a bus architecture for IPC                        publishers
    – avoid direct communication
    – Pick a messaging toolkit (cots or pd)
• Implement service management
    – Service definition language (WSDL)
                                                      postEvent
    – Service Catalog – dynamic
    – Discovery and routing services
• Processing Standard                                  EventDistribution
    – Choose Stateless protocol                                     notifyEvent
    – Data transformation services (DTS)
       • Ship an Order DOM return OATS
         DOM
• Receiver should make it right using
  DTS
    – Avoid data coupling                                 Subscribers
                                                            Subscribers
                                                        aka Observers
 rk2153 AT gmail DOT com        Design and Analysis                          8
Plausible State
                                          Blotters                  Analytic             MarketData
                SvcCatalog                     Blotters                  Engines                 MiscSvc




                        XML                           XML                      XML                      XML



                                    JBOSS/ESPER/JMS/XML ESB/Mule


XML                           XML                            XML                           XML

      XML2SQL                   XML2FIX                         TrdSupport                    Portals



SQL
                                      ExtSvcGwy                       Performance                     Compliance
                                        ExtSvcGwy
                                                                         Algo/Programs                     Customers
      DB Farm




rk2153 AT gmail DOT com                                     Design and Analysis                                        9
Steps
•   Determine XML Schema
•   Persistence Process
•   Service Definition, Discovery, Routing
•   Transformation Services
•   Monitoring and Instrumentation
•   Error Recovery
•   Stress test for performance, throughput
    The initial state was already factored to evolve the design.


rk2153 AT gmail DOT com             Design and Analysis            10
Extensible
            Blotter Server/OMS         Execution Venue          Fix Customers
            Risk Management
                                                                                 Customer Svc
            Position Management
                                                                                   Reporting
            Portfolio Trading Support System




                                                  Decision              Smart Router
                                                  Support
                             Firm DB                                    Matching Engine
                  MDF                                   Algos
                                 Tick db
                                                       Perf Trackers
                                 Transaction db
                                                       Liquidity Detection
                                 History/ SecMaster



rk2153 AT gmail DOT com                        Design and Analysis                              11
What if?
• Applications are in use
      – Factor reusable methods and abstractions
            • Capture all the flows
            • Compile Data Dictionary
            • Define XML to capture all the data, given DD
      – Select one application
            •   Recast using the SOA framework, DD and XML Schema
            •   Test and validate for performance
            •   Introduce other applications one by one
            •   When satisfactory – retire old system
            •   Requires an ops team and engineering team



rk2153 AT gmail DOT com          Design and Analysis                12
Factoring Application Suite
     • Select one assetclass
           – Categorize all the required business functions
           – Define generic application interface
                 •   nav(runDate)
                 •   var(runDate,varPolicy)
                 •   update(old,current)
                 •   evolve(from,to)
           –   Define a comprehensive application framework
           –   Define concrete implementing the application interface
           –   Register concrete with the application framework
           –   Test for all the business functions
     • Implement other applications and repeat
           – Architecture will evolve iteratively


rk2153 AT gmail DOT com                Design and Analysis              13
Abstraction Levels
                                  Highest ROI

                                              Interaction between Services
                Services                      Runtime management
                                              Service level error recovery
                                              Platform independent
             Components                       Unlimited extent

              Framework
                                              Interaction between classes
                                              Limited extent
                Patterns


                Classes
                                             Compilation/Library Deployment
                                             Programming Error Management
    Data Structures + Libraries              Restricted extent (colocated libraries)

Layering fosters engineering discipline and prevents hacking and kludges.
rk2153 AT gmail DOT com           Design and Analysis                            14
What follows
      • Separation of concerns
            – Illustration
      • Solving Complex Problems
            – Divide and conquer
            – Reuse at the highest level
      • Generalize to capture abstract patterns
            – Usable in similar contexts


rk2153 AT gmail DOT com      Design and Analysis   15
Innovation through Integration




http://bluehawk.monmouth.edu/monmouth/academic/dna/webnet97.htm
http://bluehawk.monmouth.edu/monmouth/academic/dna/fed97.htm
rk2153 AT gmail DOT com                      Design and Analysis   16
Higher levels of abstraction

                                                     See hidden patterns
                                                     Strip problem specific roles
                                                     See the parts at a higher level
                                                     A solution to a particular problem
                                                     Can now solve larger set of problems
                                                     Recipe:
                                                     Solve the problem
                                                     Study the solution
                                                     Refine by
                                                     making your design more abstract
                                                     Streamlining communication paths
                                                     Ordering and restricting (layering)

Any unsolvable problem can be solved at a different level of abstraction
Andrew Konig – Solve by indirection.
Einstein – A problem cannot be solved with the mindset that created the problem.
Different mindset, open mindset, higher level issues, defer details as much

 rk2153 AT gmail DOT com           Design and Analysis                                17
Design Intent
• Capturing design intent in a durable medium is
  important
• Engineered buildings have buckled, when
    – Purchasing manager saved a few $$$ buying smaller
      beams and soldering them to make a big beam
    – While the engineer designed it with a single long
      beam to distribute the load evenly across
    – No short cuts – pay up and do it right
    – When in doubt -- ask for the design rationale
          • Make no assumptions
Don’t run on assumptions – review, check and confirm – frequently
learn from mistakes and experts – don’t repeat
rk2153 AT gmail DOT com         Design and Analysis                 18
Reduce Still Further




       A General Purpose Problem Solving Method.

    http://bluehawk.monmouth.edu/monmouth/academic/dna/weti96ff.htm

rk2153 AT gmail DOT com                Design and Analysis            19
• Pondering the internals, an example
             • classical design methods are relevant
                   – OOAD
                   – Data centric




rk2153 AT gmail DOT com             Design and Analysis   20
Simple Exercise:Class Design
       Assume you wish to build forms to collect information from users
       and store them in a relational database.

    One can decide to a build A form – one at a time
    Or you can solve the form building in total – for a wide variety of forms.

There is a trade off here…if all we wanted to do is build ONE form..just do it.
However, if there are an unknown number forms and subject to frequent changes
then solving for a form is inefficient.
Ask what if questions:
what if I can build one form, such that it will aid in the creation of all other forms
           -- resulted in widget libraries

But widget libraries do not become forms overnight…someone has to identify the
widget that most suitable for eliciting that piece of information and
Position those widgets in a logical manner to make up the form


rk2153 AT gmail DOT com              Design and Analysis                           21
Recast the problem statement
a FORM is an ordered collection of suitable display widget,
  positioned on the form at particular location within the
  form.(a model – description of )
Note there is no mention of Name, Age, Color – abstract
  not particular
Given the chosen widgets and their positions on the form, a
  FORM can be painted on the screen.(a generator)
Separation of concerns – description of the form separated
  from rendering the form on a screen



rk2153 AT gmail DOT com   Design and Analysis            22
Divide & Conquer
    There are forms (container) and there are fields (contained).


     Form Universe


 Maker          Application   Maker Operations (CRUD)               Window

 Checker        Application   Checker operations (accept/reject)    Window

 Browser        Application   Browser Operations (view only)        Window



 Some forms allow users to create/read/update/delete data. (maker)
 Some forms allow users to verify (and accept) captured data. (checker)
 Some forms allow users to view data without the ability to modify. (Browser)


   A form at runtime is rendered in its own window.


rk2153 AT gmail DOT com                     Design and Analysis                 23
Analysis by refinement:Content Universe
• What is a form
    – Labels, aka names
          • constant values hint about the values to expected
    – Values, aka entryfield
          • User enters a value from an infinite set of values
                – Free form
                – Some may be numbers only, text, or combination
          • User selects from a finite set of values
                – One of two values – special case
                – One of a dozen values
          • User selects from a growing list of values
                – Related to a value already entered in the same form or another
                  form
    – Position and order of these labels/values
            A form = one or more (labels, entryfields, position and order)

rk2153 AT gmail DOT com              Design and Analysis                       24
What all can the user enter?
Item            Domain                 Description                                Comment

UserEntered     TextEntry              validate for alphabets, textField          Name

UserEntered     Numerals               validate for numbers only, textField       Age, Salary

UserEntered     Masked                 private not visible, textField             password

UserEntered     AnyEntry               Any alphabet or any number, textField      Freeform

Prose           TextBox                Text with option to enter a file           Freeform or a FileBrowser

Boolean         one of two values      Close Domain RadioButton                   Gender

Images,videos   DialogBox              To enter URL or select a file              FileBrowser
                                                                                  Shape,FamilyRelationship (mother/father, son,
StaticList      categories             Closed Domain PopupMenu                         daughter)
                                                                                  Customer Name (Open grows with time), Departments
DynamicList     categories             Closed or Open Domain PopupMenu                 closed

                                       Closed – Cannot make up a new country
Referential     RestrictedCategories        like in the case of customer name     Countries, Currencies



 The original solution in 1992 did not include Prose/Image or videos.
 There were no URLS then.
 By adding new renderers and allowing more Item types, entire framework could
 be used without much effort. Solutions can evolve if engineered.
  rk2153 AT gmail DOT com                                   Design and Analysis                                                   25
Analysis to Design
• So far in the analysis we have identified
  only the what not how…
• In the design phase how will these come
  together (collaborate and coordinate)
• In the design phase ideas foreign to the
  domain have to be introduced ( interpretor,
  repository, libraries)

Object Oriented approach maintains the continuity from requirement to solution.


rk2153 AT gmail DOT com          Design and Analysis                        26
It aint easy!

                                                              Design for change, think long,
                                                              think hard.

                                                              We need:
                                                              A repository
                                                              An interpretor
                                                              A widget class library
                                                              A database library (two tier) or
                                                              gateway (three tier)
                                                              System Services –
                                                              authentication, process etc



    http://bluehawk.monmouth.edu/monmouth/academic/dna/tigadbj4.htm



rk2153 AT gmail DOT com                      Design and Analysis                                 27
Summary
• Be Abstract initially      Architecture
      – Understand the flow, minimize coupling, streamline flow
      – Design for change and diagnostics
• Then, study what you are trying to solve -- analysis
• Then, on how to do it -- design
   – Keep analysis separate from design
• Object Oriented can help maintaining a simple language for the
  entire life cycle.
   – Eliminate translating between what was needed to how it was
      realized in the program – OO allows you to speak the same
      language for the SDLC duration.

       Internal Structure (OOAD), external Structure(SOA)



rk2153 AT gmail DOT com           Design and Analysis              28

More Related Content

What's hot

LogisticsWired Offering from MavenWire
LogisticsWired Offering from MavenWireLogisticsWired Offering from MavenWire
LogisticsWired Offering from MavenWireMavenWire
 
Mobile Development Meets Semantic Technology
Mobile Development Meets Semantic TechnologyMobile Development Meets Semantic Technology
Mobile Development Meets Semantic Technology
Blue Slate Solutions
 
ITCamp 2012 - Adrian Stoian - Migrating from CFG MGR 2007 to CFG MGR 2012
ITCamp 2012 - Adrian Stoian - Migrating from CFG MGR 2007 to CFG MGR 2012ITCamp 2012 - Adrian Stoian - Migrating from CFG MGR 2007 to CFG MGR 2012
ITCamp 2012 - Adrian Stoian - Migrating from CFG MGR 2007 to CFG MGR 2012ITCamp
 
Randy Shoup eBays Architectural Principles
Randy Shoup eBays Architectural PrinciplesRandy Shoup eBays Architectural Principles
Randy Shoup eBays Architectural Principlesdeimos
 
Converged Infrastructure as a Go Forward Strategy
Converged Infrastructure as a Go Forward StrategyConverged Infrastructure as a Go Forward Strategy
Converged Infrastructure as a Go Forward Strategy
James Charter
 
Intro to NoSQL and MongoDB
Intro to NoSQL and MongoDBIntro to NoSQL and MongoDB
Intro to NoSQL and MongoDBDATAVERSITY
 
3 12-2013 performance-testing_service_virtualization
3 12-2013 performance-testing_service_virtualization3 12-2013 performance-testing_service_virtualization
3 12-2013 performance-testing_service_virtualization
silviasiqueirahp
 
FBI Symposium on Cloud Computing and Security v2
FBI Symposium on Cloud Computing and Security v2FBI Symposium on Cloud Computing and Security v2
FBI Symposium on Cloud Computing and Security v2GovCloud Network
 
SQL Server High Availability
SQL Server High AvailabilitySQL Server High Availability
SQL Server High Availability
Database Architechs
 
Otm con8766 pdf_8766_0001
Otm con8766 pdf_8766_0001Otm con8766 pdf_8766_0001
Otm con8766 pdf_8766_0001jucaab
 
Complex Er[jl]ang Processing with StreamBase
Complex Er[jl]ang Processing with StreamBaseComplex Er[jl]ang Processing with StreamBase
Complex Er[jl]ang Processing with StreamBase
darach
 
Complex Event Processing: What?, Why?, How?
Complex Event Processing: What?, Why?, How?Complex Event Processing: What?, Why?, How?
Complex Event Processing: What?, Why?, How?
Fabien Coppens
 
eBay Architecture
eBay Architecture eBay Architecture
eBay Architecture Tony Ng
 
Business Process Insight - SRII 2012
Business Process Insight - SRII 2012Business Process Insight - SRII 2012
Business Process Insight - SRII 2012Szabolcs Rozsnyai
 
Managed Services Seminar Presentation
Managed Services Seminar PresentationManaged Services Seminar Presentation
Managed Services Seminar Presentation
gerrymark
 
Introducing the silverlight cookbook
Introducing the silverlight cookbookIntroducing the silverlight cookbook
Introducing the silverlight cookbookDennis Doomen
 
DB 11g R2 Keynote: Consolidate On Low Cost Server And Storage Grids
DB 11g R2 Keynote: Consolidate On Low Cost Server And Storage GridsDB 11g R2 Keynote: Consolidate On Low Cost Server And Storage Grids
DB 11g R2 Keynote: Consolidate On Low Cost Server And Storage Grids
Luís Ganhão
 
Oracle cloud story short
Oracle cloud story   shortOracle cloud story   short
Oracle cloud story shortYuri Grinshteyn
 

What's hot (20)

LogisticsWired Offering from MavenWire
LogisticsWired Offering from MavenWireLogisticsWired Offering from MavenWire
LogisticsWired Offering from MavenWire
 
Mobile Development Meets Semantic Technology
Mobile Development Meets Semantic TechnologyMobile Development Meets Semantic Technology
Mobile Development Meets Semantic Technology
 
ITCamp 2012 - Adrian Stoian - Migrating from CFG MGR 2007 to CFG MGR 2012
ITCamp 2012 - Adrian Stoian - Migrating from CFG MGR 2007 to CFG MGR 2012ITCamp 2012 - Adrian Stoian - Migrating from CFG MGR 2007 to CFG MGR 2012
ITCamp 2012 - Adrian Stoian - Migrating from CFG MGR 2007 to CFG MGR 2012
 
KBACE Data Quality Management Webinar
KBACE Data Quality Management WebinarKBACE Data Quality Management Webinar
KBACE Data Quality Management Webinar
 
Randy Shoup eBays Architectural Principles
Randy Shoup eBays Architectural PrinciplesRandy Shoup eBays Architectural Principles
Randy Shoup eBays Architectural Principles
 
Converged Infrastructure as a Go Forward Strategy
Converged Infrastructure as a Go Forward StrategyConverged Infrastructure as a Go Forward Strategy
Converged Infrastructure as a Go Forward Strategy
 
Intro to NoSQL and MongoDB
Intro to NoSQL and MongoDBIntro to NoSQL and MongoDB
Intro to NoSQL and MongoDB
 
Private cloud in a box
Private cloud in a boxPrivate cloud in a box
Private cloud in a box
 
3 12-2013 performance-testing_service_virtualization
3 12-2013 performance-testing_service_virtualization3 12-2013 performance-testing_service_virtualization
3 12-2013 performance-testing_service_virtualization
 
FBI Symposium on Cloud Computing and Security v2
FBI Symposium on Cloud Computing and Security v2FBI Symposium on Cloud Computing and Security v2
FBI Symposium on Cloud Computing and Security v2
 
SQL Server High Availability
SQL Server High AvailabilitySQL Server High Availability
SQL Server High Availability
 
Otm con8766 pdf_8766_0001
Otm con8766 pdf_8766_0001Otm con8766 pdf_8766_0001
Otm con8766 pdf_8766_0001
 
Complex Er[jl]ang Processing with StreamBase
Complex Er[jl]ang Processing with StreamBaseComplex Er[jl]ang Processing with StreamBase
Complex Er[jl]ang Processing with StreamBase
 
Complex Event Processing: What?, Why?, How?
Complex Event Processing: What?, Why?, How?Complex Event Processing: What?, Why?, How?
Complex Event Processing: What?, Why?, How?
 
eBay Architecture
eBay Architecture eBay Architecture
eBay Architecture
 
Business Process Insight - SRII 2012
Business Process Insight - SRII 2012Business Process Insight - SRII 2012
Business Process Insight - SRII 2012
 
Managed Services Seminar Presentation
Managed Services Seminar PresentationManaged Services Seminar Presentation
Managed Services Seminar Presentation
 
Introducing the silverlight cookbook
Introducing the silverlight cookbookIntroducing the silverlight cookbook
Introducing the silverlight cookbook
 
DB 11g R2 Keynote: Consolidate On Low Cost Server And Storage Grids
DB 11g R2 Keynote: Consolidate On Low Cost Server And Storage GridsDB 11g R2 Keynote: Consolidate On Low Cost Server And Storage Grids
DB 11g R2 Keynote: Consolidate On Low Cost Server And Storage Grids
 
Oracle cloud story short
Oracle cloud story   shortOracle cloud story   short
Oracle cloud story short
 

Viewers also liked

Wading through the mobile WebRTC developer gauntlet (IIT RTC Conference sessi...
Wading through the mobile WebRTC developer gauntlet (IIT RTC Conference sessi...Wading through the mobile WebRTC developer gauntlet (IIT RTC Conference sessi...
Wading through the mobile WebRTC developer gauntlet (IIT RTC Conference sessi...
Brian Pulito
 
Joy of Unix
Joy of UnixJoy of Unix
Joy of Unix
Raman Kannan
 
Risk management framework
Risk management frameworkRisk management framework
Risk management frameworkRaman Kannan
 
Innovation: Cost or Rejuvenation
Innovation: Cost or RejuvenationInnovation: Cost or Rejuvenation
Innovation: Cost or RejuvenationRaman Kannan
 
PSH Mobile Voice 2016 Personal Virtual Assistants 
Are Not Enough?
PSH Mobile Voice 2016 Personal Virtual Assistants 
Are Not Enough?PSH Mobile Voice 2016 Personal Virtual Assistants 
Are Not Enough?
PSH Mobile Voice 2016 Personal Virtual Assistants 
Are Not Enough?
Paul Heirendt
 
WebSphere Liberty Rtcomm: WebRTC Middleware for the Enterprise
WebSphere Liberty Rtcomm: WebRTC Middleware for the EnterpriseWebSphere Liberty Rtcomm: WebRTC Middleware for the Enterprise
WebSphere Liberty Rtcomm: WebRTC Middleware for the Enterprise
Brian Pulito
 
The Enterprise wants WebRTC -- and it needs Middleware to get it! (IIT RTC Co...
The Enterprise wants WebRTC -- and it needs Middleware to get it! (IIT RTC Co...The Enterprise wants WebRTC -- and it needs Middleware to get it! (IIT RTC Co...
The Enterprise wants WebRTC -- and it needs Middleware to get it! (IIT RTC Co...
Brian Pulito
 
Cognitive Assistants
Cognitive AssistantsCognitive Assistants
Cognitive Assistants
Raman Kannan
 
Could Iot be WebRTC's greatest source of innovation? (The IIT RTC Conference ...
Could Iot be WebRTC's greatest source of innovation? (The IIT RTC Conference ...Could Iot be WebRTC's greatest source of innovation? (The IIT RTC Conference ...
Could Iot be WebRTC's greatest source of innovation? (The IIT RTC Conference ...
Brian Pulito
 
Real-time Communications at Internet Speed
Real-time Communications at Internet SpeedReal-time Communications at Internet Speed
Real-time Communications at Internet Speed
Brian Pulito
 
Evaluating classifierperformance ml-cs6923
Evaluating classifierperformance ml-cs6923Evaluating classifierperformance ml-cs6923
Evaluating classifierperformance ml-cs6923
Raman Kannan
 
Making Intelligent Virtual Assistants a Reality
Making Intelligent Virtual Assistants a RealityMaking Intelligent Virtual Assistants a Reality
Making Intelligent Virtual Assistants a Reality
Earley Information Science
 
“From Eliza to Siri and beyond: Promise and challenges of intelligent, langua...
“From Eliza to Siri and beyond: Promise and challenges of intelligent, langua...“From Eliza to Siri and beyond: Promise and challenges of intelligent, langua...
“From Eliza to Siri and beyond: Promise and challenges of intelligent, langua...
diannepatricia
 
Artificial intelligence: PwC Top Issues
Artificial intelligence: PwC Top IssuesArtificial intelligence: PwC Top Issues
Artificial intelligence: PwC Top Issues
PwC
 
Tech & Digital Trend 2017
Tech & Digital Trend 2017Tech & Digital Trend 2017
Tech & Digital Trend 2017
IQUII
 

Viewers also liked (15)

Wading through the mobile WebRTC developer gauntlet (IIT RTC Conference sessi...
Wading through the mobile WebRTC developer gauntlet (IIT RTC Conference sessi...Wading through the mobile WebRTC developer gauntlet (IIT RTC Conference sessi...
Wading through the mobile WebRTC developer gauntlet (IIT RTC Conference sessi...
 
Joy of Unix
Joy of UnixJoy of Unix
Joy of Unix
 
Risk management framework
Risk management frameworkRisk management framework
Risk management framework
 
Innovation: Cost or Rejuvenation
Innovation: Cost or RejuvenationInnovation: Cost or Rejuvenation
Innovation: Cost or Rejuvenation
 
PSH Mobile Voice 2016 Personal Virtual Assistants 
Are Not Enough?
PSH Mobile Voice 2016 Personal Virtual Assistants 
Are Not Enough?PSH Mobile Voice 2016 Personal Virtual Assistants 
Are Not Enough?
PSH Mobile Voice 2016 Personal Virtual Assistants 
Are Not Enough?
 
WebSphere Liberty Rtcomm: WebRTC Middleware for the Enterprise
WebSphere Liberty Rtcomm: WebRTC Middleware for the EnterpriseWebSphere Liberty Rtcomm: WebRTC Middleware for the Enterprise
WebSphere Liberty Rtcomm: WebRTC Middleware for the Enterprise
 
The Enterprise wants WebRTC -- and it needs Middleware to get it! (IIT RTC Co...
The Enterprise wants WebRTC -- and it needs Middleware to get it! (IIT RTC Co...The Enterprise wants WebRTC -- and it needs Middleware to get it! (IIT RTC Co...
The Enterprise wants WebRTC -- and it needs Middleware to get it! (IIT RTC Co...
 
Cognitive Assistants
Cognitive AssistantsCognitive Assistants
Cognitive Assistants
 
Could Iot be WebRTC's greatest source of innovation? (The IIT RTC Conference ...
Could Iot be WebRTC's greatest source of innovation? (The IIT RTC Conference ...Could Iot be WebRTC's greatest source of innovation? (The IIT RTC Conference ...
Could Iot be WebRTC's greatest source of innovation? (The IIT RTC Conference ...
 
Real-time Communications at Internet Speed
Real-time Communications at Internet SpeedReal-time Communications at Internet Speed
Real-time Communications at Internet Speed
 
Evaluating classifierperformance ml-cs6923
Evaluating classifierperformance ml-cs6923Evaluating classifierperformance ml-cs6923
Evaluating classifierperformance ml-cs6923
 
Making Intelligent Virtual Assistants a Reality
Making Intelligent Virtual Assistants a RealityMaking Intelligent Virtual Assistants a Reality
Making Intelligent Virtual Assistants a Reality
 
“From Eliza to Siri and beyond: Promise and challenges of intelligent, langua...
“From Eliza to Siri and beyond: Promise and challenges of intelligent, langua...“From Eliza to Siri and beyond: Promise and challenges of intelligent, langua...
“From Eliza to Siri and beyond: Promise and challenges of intelligent, langua...
 
Artificial intelligence: PwC Top Issues
Artificial intelligence: PwC Top IssuesArtificial intelligence: PwC Top Issues
Artificial intelligence: PwC Top Issues
 
Tech & Digital Trend 2017
Tech & Digital Trend 2017Tech & Digital Trend 2017
Tech & Digital Trend 2017
 

Similar to Enterprise Architecture

Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
ScyllaDB
 
DesignMind SQL Server 2008 Migration
DesignMind SQL Server 2008 MigrationDesignMind SQL Server 2008 Migration
DesignMind SQL Server 2008 Migration
Mark Ginnebaugh
 
Oracle tech fmw-02-soa-suite-11g-neum-15.04.2010
Oracle tech fmw-02-soa-suite-11g-neum-15.04.2010Oracle tech fmw-02-soa-suite-11g-neum-15.04.2010
Oracle tech fmw-02-soa-suite-11g-neum-15.04.2010Oracle BH
 
21st Century Service Oriented Architecture
21st Century Service Oriented Architecture21st Century Service Oriented Architecture
21st Century Service Oriented Architecture
Bob Rhubart
 
21st Century SOA
21st Century SOA21st Century SOA
21st Century SOA
Bob Rhubart
 
Micro services
Micro servicesMicro services
Micro services
Parthiban J
 
Micro services - Practicalities & things to watch out for
Micro services - Practicalities & things to watch out forMicro services - Practicalities & things to watch out for
Micro services - Practicalities & things to watch out for
Parthiban J
 
SQL Server 2008 Migration
SQL Server 2008 MigrationSQL Server 2008 Migration
SQL Server 2008 Migration
Mark Ginnebaugh
 
Webinar: How to track & enhance Exchange availability and performance?
Webinar: How to track & enhance Exchange availability and performance?Webinar: How to track & enhance Exchange availability and performance?
Webinar: How to track & enhance Exchange availability and performance?GSX Solutions
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservices
Anil Allewar
 
M3 Modernization Case Study
M3 Modernization Case StudyM3 Modernization Case Study
M3 Modernization Case StudyADC Austin Tech
 
Introduction to SQL Server Analysis services 2008
Introduction to SQL Server Analysis services 2008Introduction to SQL Server Analysis services 2008
Introduction to SQL Server Analysis services 2008
Tobias Koprowski
 
Java EE microservices architecture - evolving the monolith
Java EE microservices architecture - evolving the monolithJava EE microservices architecture - evolving the monolith
Java EE microservices architecture - evolving the monolith
Markus Eisele
 
Presentation application change management and data masking strategies for ...
Presentation   application change management and data masking strategies for ...Presentation   application change management and data masking strategies for ...
Presentation application change management and data masking strategies for ...
xKinAnx
 
Ira d. kleiner, ms, mba, 2013 1
Ira d. kleiner, ms, mba, 2013 1Ira d. kleiner, ms, mba, 2013 1
Ira d. kleiner, ms, mba, 2013 1Ira Kleiner
 
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
David Rosenblum
 
10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural stylesMajong DevJfu
 
Stay productive while slicing up the monolith
Stay productive while slicing up the monolithStay productive while slicing up the monolith
Stay productive while slicing up the monolith
Markus Eisele
 
21st Century SOA
21st Century SOA21st Century SOA
21st Century SOA
Bob Rhubart
 
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
Comsysto Reply GmbH
 

Similar to Enterprise Architecture (20)

Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
 
DesignMind SQL Server 2008 Migration
DesignMind SQL Server 2008 MigrationDesignMind SQL Server 2008 Migration
DesignMind SQL Server 2008 Migration
 
Oracle tech fmw-02-soa-suite-11g-neum-15.04.2010
Oracle tech fmw-02-soa-suite-11g-neum-15.04.2010Oracle tech fmw-02-soa-suite-11g-neum-15.04.2010
Oracle tech fmw-02-soa-suite-11g-neum-15.04.2010
 
21st Century Service Oriented Architecture
21st Century Service Oriented Architecture21st Century Service Oriented Architecture
21st Century Service Oriented Architecture
 
21st Century SOA
21st Century SOA21st Century SOA
21st Century SOA
 
Micro services
Micro servicesMicro services
Micro services
 
Micro services - Practicalities & things to watch out for
Micro services - Practicalities & things to watch out forMicro services - Practicalities & things to watch out for
Micro services - Practicalities & things to watch out for
 
SQL Server 2008 Migration
SQL Server 2008 MigrationSQL Server 2008 Migration
SQL Server 2008 Migration
 
Webinar: How to track & enhance Exchange availability and performance?
Webinar: How to track & enhance Exchange availability and performance?Webinar: How to track & enhance Exchange availability and performance?
Webinar: How to track & enhance Exchange availability and performance?
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservices
 
M3 Modernization Case Study
M3 Modernization Case StudyM3 Modernization Case Study
M3 Modernization Case Study
 
Introduction to SQL Server Analysis services 2008
Introduction to SQL Server Analysis services 2008Introduction to SQL Server Analysis services 2008
Introduction to SQL Server Analysis services 2008
 
Java EE microservices architecture - evolving the monolith
Java EE microservices architecture - evolving the monolithJava EE microservices architecture - evolving the monolith
Java EE microservices architecture - evolving the monolith
 
Presentation application change management and data masking strategies for ...
Presentation   application change management and data masking strategies for ...Presentation   application change management and data masking strategies for ...
Presentation application change management and data masking strategies for ...
 
Ira d. kleiner, ms, mba, 2013 1
Ira d. kleiner, ms, mba, 2013 1Ira d. kleiner, ms, mba, 2013 1
Ira d. kleiner, ms, mba, 2013 1
 
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
 
10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles
 
Stay productive while slicing up the monolith
Stay productive while slicing up the monolithStay productive while slicing up the monolith
Stay productive while slicing up the monolith
 
21st Century SOA
21st Century SOA21st Century SOA
21st Century SOA
 
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
 

More from Raman Kannan

Essays on-civic-responsibilty
Essays on-civic-responsibiltyEssays on-civic-responsibilty
Essays on-civic-responsibilty
Raman Kannan
 
M12 boosting-part02
M12 boosting-part02M12 boosting-part02
M12 boosting-part02
Raman Kannan
 
M12 random forest-part01
M12 random forest-part01M12 random forest-part01
M12 random forest-part01
Raman Kannan
 
M11 bagging loo cv
M11 bagging loo cvM11 bagging loo cv
M11 bagging loo cv
Raman Kannan
 
M10 gradient descent
M10 gradient descentM10 gradient descent
M10 gradient descent
Raman Kannan
 
M09-Cross validating-naive-bayes
M09-Cross validating-naive-bayesM09-Cross validating-naive-bayes
M09-Cross validating-naive-bayes
Raman Kannan
 
M06 tree
M06 treeM06 tree
M06 tree
Raman Kannan
 
M07 svm
M07 svmM07 svm
M07 svm
Raman Kannan
 
M08 BiasVarianceTradeoff
M08 BiasVarianceTradeoffM08 BiasVarianceTradeoff
M08 BiasVarianceTradeoff
Raman Kannan
 
Chapter 05 k nn
Chapter 05 k nnChapter 05 k nn
Chapter 05 k nn
Raman Kannan
 
Chapter 04-discriminant analysis
Chapter 04-discriminant analysisChapter 04-discriminant analysis
Chapter 04-discriminant analysis
Raman Kannan
 
M03 nb-02
M03 nb-02M03 nb-02
M03 nb-02
Raman Kannan
 
Augmented 11022020-ieee
Augmented 11022020-ieeeAugmented 11022020-ieee
Augmented 11022020-ieee
Raman Kannan
 
Chapter 02-logistic regression
Chapter 02-logistic regressionChapter 02-logistic regression
Chapter 02-logistic regression
Raman Kannan
 
Chapter01 introductory handbook
Chapter01 introductory handbookChapter01 introductory handbook
Chapter01 introductory handbook
Raman Kannan
 
Chapter 2: R tutorial Handbook for Data Science and Machine Learning Practiti...
Chapter 2: R tutorial Handbook for Data Science and Machine Learning Practiti...Chapter 2: R tutorial Handbook for Data Science and Machine Learning Practiti...
Chapter 2: R tutorial Handbook for Data Science and Machine Learning Practiti...
Raman Kannan
 
A voyage-inward-02
A voyage-inward-02A voyage-inward-02
A voyage-inward-02
Raman Kannan
 
A data scientist's study plan
A data scientist's study planA data scientist's study plan
A data scientist's study plan
Raman Kannan
 
Essay on-data-analysis
Essay on-data-analysisEssay on-data-analysis
Essay on-data-analysis
Raman Kannan
 
How to-run-ols-diagnostics-02
How to-run-ols-diagnostics-02How to-run-ols-diagnostics-02
How to-run-ols-diagnostics-02
Raman Kannan
 

More from Raman Kannan (20)

Essays on-civic-responsibilty
Essays on-civic-responsibiltyEssays on-civic-responsibilty
Essays on-civic-responsibilty
 
M12 boosting-part02
M12 boosting-part02M12 boosting-part02
M12 boosting-part02
 
M12 random forest-part01
M12 random forest-part01M12 random forest-part01
M12 random forest-part01
 
M11 bagging loo cv
M11 bagging loo cvM11 bagging loo cv
M11 bagging loo cv
 
M10 gradient descent
M10 gradient descentM10 gradient descent
M10 gradient descent
 
M09-Cross validating-naive-bayes
M09-Cross validating-naive-bayesM09-Cross validating-naive-bayes
M09-Cross validating-naive-bayes
 
M06 tree
M06 treeM06 tree
M06 tree
 
M07 svm
M07 svmM07 svm
M07 svm
 
M08 BiasVarianceTradeoff
M08 BiasVarianceTradeoffM08 BiasVarianceTradeoff
M08 BiasVarianceTradeoff
 
Chapter 05 k nn
Chapter 05 k nnChapter 05 k nn
Chapter 05 k nn
 
Chapter 04-discriminant analysis
Chapter 04-discriminant analysisChapter 04-discriminant analysis
Chapter 04-discriminant analysis
 
M03 nb-02
M03 nb-02M03 nb-02
M03 nb-02
 
Augmented 11022020-ieee
Augmented 11022020-ieeeAugmented 11022020-ieee
Augmented 11022020-ieee
 
Chapter 02-logistic regression
Chapter 02-logistic regressionChapter 02-logistic regression
Chapter 02-logistic regression
 
Chapter01 introductory handbook
Chapter01 introductory handbookChapter01 introductory handbook
Chapter01 introductory handbook
 
Chapter 2: R tutorial Handbook for Data Science and Machine Learning Practiti...
Chapter 2: R tutorial Handbook for Data Science and Machine Learning Practiti...Chapter 2: R tutorial Handbook for Data Science and Machine Learning Practiti...
Chapter 2: R tutorial Handbook for Data Science and Machine Learning Practiti...
 
A voyage-inward-02
A voyage-inward-02A voyage-inward-02
A voyage-inward-02
 
A data scientist's study plan
A data scientist's study planA data scientist's study plan
A data scientist's study plan
 
Essay on-data-analysis
Essay on-data-analysisEssay on-data-analysis
Essay on-data-analysis
 
How to-run-ols-diagnostics-02
How to-run-ols-diagnostics-02How to-run-ols-diagnostics-02
How to-run-ols-diagnostics-02
 

Recently uploaded

The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
Abida Shariff
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
Fwdays
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 

Recently uploaded (20)

The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 

Enterprise Architecture

  • 1. Reliable Extensible Engineering Maintainable Solutions Scalable Raman Kannan rk2153 AT gmail DOT com Design and Analysis 1
  • 2. Design • It is a creative process • There is no best design – wicked science • Important lessons learned – Architecture is the key for operational stability – Capturing the design intent is key – corporate memory – Building the right product is key for alignment • Building “some product” right is irrelevant – Simplicity always triumphs over complexity rk2153 AT gmail DOT com Design and Analysis 2
  • 3. Delay concrete decisions • Abstract – Architecture – Parts and their relationships – Their interactions with the environment (outside view) • Refine, elaborate independent parts • Design for abstract interaction – Substitutionality principle -- Liskov – Reduce rigid coupling between systems rk2153 AT gmail DOT com Design and Analysis 3
  • 4. Evolving an Equity Trading Platform to other asset classes rk2153 AT gmail DOT com Design and Analysis 4
  • 5. Trading Platform http://assetcorporation.net/existing/trading_platform.html Implementing business functions independently and integrating them fosters engineering efficiency and software reuse. Allows component wise replacement and incremental improvements. rk2153 AT gmail DOT com Design and Analysis 5
  • 6. Design for Change! • 1996/1997 predates SOA or JBOSS or SOAP • Should this system be migrated to newer frameworks? – The current solution is factored well but – Lack of centralized approach results in duplication » Stop/start, error/status monitor, logging, concurrency, recovery, component administration, resource pooling – Each component interacts with DB directly » Structure of data is not standardized » Duplication and multiple database connections – Not easy to combine/replace existing » introduce new (Position, Risk, Revenue,Breaks) » or external services (EMS, ALGO service, etc) SOA can offer relief. rk2153 AT gmail DOT com Design and Analysis 6
  • 7. New Platform • Get rid of application specific data structures – XML based Order, Trade, Position,Task, Confirms, Reports, Permissions, SecurityTypes – Platform NOW is a collection of • XML generators(sources) and processors(sinks) • Asset classes can be introduced – Each with their own events, analytics and lifecycles – Introducing SWAP novation need not and will not affect unrelated • New attributes may be added (taker/provider rebate for trade) • Persistent Store can be a special processor – All other components are db independent – DB can be replaced as needed • Sources and Sink may transform using XSL Platform is now data centric and SOAP/XML is ideal. rk2153 AT gmail DOT com Design and Analysis 7
  • 8. Implementation aka Observable • Choose a bus architecture for IPC publishers – avoid direct communication – Pick a messaging toolkit (cots or pd) • Implement service management – Service definition language (WSDL) postEvent – Service Catalog – dynamic – Discovery and routing services • Processing Standard EventDistribution – Choose Stateless protocol notifyEvent – Data transformation services (DTS) • Ship an Order DOM return OATS DOM • Receiver should make it right using DTS – Avoid data coupling Subscribers Subscribers aka Observers rk2153 AT gmail DOT com Design and Analysis 8
  • 9. Plausible State Blotters Analytic MarketData SvcCatalog Blotters Engines MiscSvc XML XML XML XML JBOSS/ESPER/JMS/XML ESB/Mule XML XML XML XML XML2SQL XML2FIX TrdSupport Portals SQL ExtSvcGwy Performance Compliance ExtSvcGwy Algo/Programs Customers DB Farm rk2153 AT gmail DOT com Design and Analysis 9
  • 10. Steps • Determine XML Schema • Persistence Process • Service Definition, Discovery, Routing • Transformation Services • Monitoring and Instrumentation • Error Recovery • Stress test for performance, throughput The initial state was already factored to evolve the design. rk2153 AT gmail DOT com Design and Analysis 10
  • 11. Extensible Blotter Server/OMS Execution Venue Fix Customers Risk Management Customer Svc Position Management Reporting Portfolio Trading Support System Decision Smart Router Support Firm DB Matching Engine MDF Algos Tick db Perf Trackers Transaction db Liquidity Detection History/ SecMaster rk2153 AT gmail DOT com Design and Analysis 11
  • 12. What if? • Applications are in use – Factor reusable methods and abstractions • Capture all the flows • Compile Data Dictionary • Define XML to capture all the data, given DD – Select one application • Recast using the SOA framework, DD and XML Schema • Test and validate for performance • Introduce other applications one by one • When satisfactory – retire old system • Requires an ops team and engineering team rk2153 AT gmail DOT com Design and Analysis 12
  • 13. Factoring Application Suite • Select one assetclass – Categorize all the required business functions – Define generic application interface • nav(runDate) • var(runDate,varPolicy) • update(old,current) • evolve(from,to) – Define a comprehensive application framework – Define concrete implementing the application interface – Register concrete with the application framework – Test for all the business functions • Implement other applications and repeat – Architecture will evolve iteratively rk2153 AT gmail DOT com Design and Analysis 13
  • 14. Abstraction Levels Highest ROI Interaction between Services Services Runtime management Service level error recovery Platform independent Components Unlimited extent Framework Interaction between classes Limited extent Patterns Classes Compilation/Library Deployment Programming Error Management Data Structures + Libraries Restricted extent (colocated libraries) Layering fosters engineering discipline and prevents hacking and kludges. rk2153 AT gmail DOT com Design and Analysis 14
  • 15. What follows • Separation of concerns – Illustration • Solving Complex Problems – Divide and conquer – Reuse at the highest level • Generalize to capture abstract patterns – Usable in similar contexts rk2153 AT gmail DOT com Design and Analysis 15
  • 17. Higher levels of abstraction See hidden patterns Strip problem specific roles See the parts at a higher level A solution to a particular problem Can now solve larger set of problems Recipe: Solve the problem Study the solution Refine by making your design more abstract Streamlining communication paths Ordering and restricting (layering) Any unsolvable problem can be solved at a different level of abstraction Andrew Konig – Solve by indirection. Einstein – A problem cannot be solved with the mindset that created the problem. Different mindset, open mindset, higher level issues, defer details as much rk2153 AT gmail DOT com Design and Analysis 17
  • 18. Design Intent • Capturing design intent in a durable medium is important • Engineered buildings have buckled, when – Purchasing manager saved a few $$$ buying smaller beams and soldering them to make a big beam – While the engineer designed it with a single long beam to distribute the load evenly across – No short cuts – pay up and do it right – When in doubt -- ask for the design rationale • Make no assumptions Don’t run on assumptions – review, check and confirm – frequently learn from mistakes and experts – don’t repeat rk2153 AT gmail DOT com Design and Analysis 18
  • 19. Reduce Still Further A General Purpose Problem Solving Method. http://bluehawk.monmouth.edu/monmouth/academic/dna/weti96ff.htm rk2153 AT gmail DOT com Design and Analysis 19
  • 20. • Pondering the internals, an example • classical design methods are relevant – OOAD – Data centric rk2153 AT gmail DOT com Design and Analysis 20
  • 21. Simple Exercise:Class Design Assume you wish to build forms to collect information from users and store them in a relational database. One can decide to a build A form – one at a time Or you can solve the form building in total – for a wide variety of forms. There is a trade off here…if all we wanted to do is build ONE form..just do it. However, if there are an unknown number forms and subject to frequent changes then solving for a form is inefficient. Ask what if questions: what if I can build one form, such that it will aid in the creation of all other forms -- resulted in widget libraries But widget libraries do not become forms overnight…someone has to identify the widget that most suitable for eliciting that piece of information and Position those widgets in a logical manner to make up the form rk2153 AT gmail DOT com Design and Analysis 21
  • 22. Recast the problem statement a FORM is an ordered collection of suitable display widget, positioned on the form at particular location within the form.(a model – description of ) Note there is no mention of Name, Age, Color – abstract not particular Given the chosen widgets and their positions on the form, a FORM can be painted on the screen.(a generator) Separation of concerns – description of the form separated from rendering the form on a screen rk2153 AT gmail DOT com Design and Analysis 22
  • 23. Divide & Conquer There are forms (container) and there are fields (contained). Form Universe Maker Application Maker Operations (CRUD) Window Checker Application Checker operations (accept/reject) Window Browser Application Browser Operations (view only) Window Some forms allow users to create/read/update/delete data. (maker) Some forms allow users to verify (and accept) captured data. (checker) Some forms allow users to view data without the ability to modify. (Browser) A form at runtime is rendered in its own window. rk2153 AT gmail DOT com Design and Analysis 23
  • 24. Analysis by refinement:Content Universe • What is a form – Labels, aka names • constant values hint about the values to expected – Values, aka entryfield • User enters a value from an infinite set of values – Free form – Some may be numbers only, text, or combination • User selects from a finite set of values – One of two values – special case – One of a dozen values • User selects from a growing list of values – Related to a value already entered in the same form or another form – Position and order of these labels/values A form = one or more (labels, entryfields, position and order) rk2153 AT gmail DOT com Design and Analysis 24
  • 25. What all can the user enter? Item Domain Description Comment UserEntered TextEntry validate for alphabets, textField Name UserEntered Numerals validate for numbers only, textField Age, Salary UserEntered Masked private not visible, textField password UserEntered AnyEntry Any alphabet or any number, textField Freeform Prose TextBox Text with option to enter a file Freeform or a FileBrowser Boolean one of two values Close Domain RadioButton Gender Images,videos DialogBox To enter URL or select a file FileBrowser Shape,FamilyRelationship (mother/father, son, StaticList categories Closed Domain PopupMenu daughter) Customer Name (Open grows with time), Departments DynamicList categories Closed or Open Domain PopupMenu closed Closed – Cannot make up a new country Referential RestrictedCategories like in the case of customer name Countries, Currencies The original solution in 1992 did not include Prose/Image or videos. There were no URLS then. By adding new renderers and allowing more Item types, entire framework could be used without much effort. Solutions can evolve if engineered. rk2153 AT gmail DOT com Design and Analysis 25
  • 26. Analysis to Design • So far in the analysis we have identified only the what not how… • In the design phase how will these come together (collaborate and coordinate) • In the design phase ideas foreign to the domain have to be introduced ( interpretor, repository, libraries) Object Oriented approach maintains the continuity from requirement to solution. rk2153 AT gmail DOT com Design and Analysis 26
  • 27. It aint easy! Design for change, think long, think hard. We need: A repository An interpretor A widget class library A database library (two tier) or gateway (three tier) System Services – authentication, process etc http://bluehawk.monmouth.edu/monmouth/academic/dna/tigadbj4.htm rk2153 AT gmail DOT com Design and Analysis 27
  • 28. Summary • Be Abstract initially Architecture – Understand the flow, minimize coupling, streamline flow – Design for change and diagnostics • Then, study what you are trying to solve -- analysis • Then, on how to do it -- design – Keep analysis separate from design • Object Oriented can help maintaining a simple language for the entire life cycle. – Eliminate translating between what was needed to how it was realized in the program – OO allows you to speak the same language for the SDLC duration. Internal Structure (OOAD), external Structure(SOA) rk2153 AT gmail DOT com Design and Analysis 28