System Architecture LEPL Financial-Analytical Service, Ministry of Finance October, 2015 Dimitri Rakviashvili, Head of Software Department.

Slides:



Advertisements
Similar presentations
웹 서비스 개요.
Advertisements

REST Introduction 吴海生 博克软件(杭州)有限公司.
Michael S. Chan xLM Solutions, LLC
Database Architectures and the Web
SSRS 2008 Architecture Improvements Scale-out SSRS 2008 Report Engine Scalability Improvements.
1 G2 and ActiveSheets Paul Roe QUT Yes Australia!
Technical Architectures
Web Servers How do our requests for resources on the Internet get handled? Can they be located anywhere? Global?
The Architecture of Transaction Processing Systems
Understanding and Managing WebSphere V5
Enterprise Reporting with Reporting Services SQL Server 2005 Donald Farmer Group Program Manager Microsoft Corporation.
Web application architecture
N-Tier Architecture.
Client/Server Architectures
.NET, and Service Gateways Group members: Andre Tran, Priyanka Gangishetty, Irena Mao, Wileen Chiu.
SOA – Development Organization Yogish Pai. 2 IT organization are structured to meet the business needs LOB-IT Aligned to a particular business unit for.
Page  1 SaaS – BUSINESS MODEL Debmalya Khan DEBMALYA KHAN.
Word Wide Cache Distributed Caching for the Distributed Enterprise.
Cloud Computing for the Enterprise November 18th, This work is licensed under a Creative Commons.
Department of Veterans Affairs VLER Core Vendor Days 1/24, 1/25.
Lecture 8 – Platform as a Service. Introduction We have discussed the SPI model of Cloud Computing – IaaS – PaaS – SaaS.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
C Copyright © 2009, Oracle. All rights reserved. Appendix C: Service-Oriented Architectures.
Technology Overview. Agenda What’s New and Better in Windows Server 2003? Why Upgrade to Windows Server 2003 ?  From Windows NT 4.0  From Windows 2000.
CIS 375—Web App Dev II Microsoft’s.NET. 2 Introduction to.NET Steve Ballmer (January 2000): Steve Ballmer "Delivering an Internet-based platform of Next.
Introducing Reporting Services for SQL Server 2005.
DISTRIBUTED COMPUTING
® IBM Software Group © 2007 IBM Corporation J2EE Web Component Introduction
CS480 Computer Science Seminar Introduction to Microsoft Solutions Framework (MSF)
Microsoft SharePoint Server 2010 for the Microsoft ASP.NET Developer Yaroslav Pentsarskyy
Grid Chemistry System Architecture Overview Akylbek Zhumabayev.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
INTRODUCTION TO WEB APPLICATION Chapter 1. In this chapter, you will learn about:  The evolution of the Internet  The beginning of the World Wide Web,
OSIsoft High Availability PI Replication
System Integration LEPL Financial-Analytical Service, Ministry of Finance October, 2015 Dimitri Rakviashvili, Head of Software Department Giorgi Gurashvili,
Development of e-Science Application Portal on GAP WeiLong Ueng Academia Sinica Grid Computing
25 April Unified Cryptologic Architecture: A Framework for a Service Based Architecture Unified Cryptologic Architecture: A Framework for a Service.
Windows Azure poDRw_Xi3Aw.
Module 1: Introduction to Microsoft SQL Server Reporting Services
2 Microsoft Confidential3 The Microsoft Web Platform is the software of choice when building web solutions or applications for your business, large.
Introduction to SQL Server 2000 Reporting Services Jeff Dumas Technical Specialist Microsoft Corporation
CLIENT SERVER COMPUTING. We have 2 types of n/w architectures – client server and peer to peer. In P2P, each system has equal capabilities and responsibilities.
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
 Cloud Computing technology basics Platform Evolution Advantages  Microsoft Windows Azure technology basics Windows Azure – A Lap around the platform.
OSIsoft High Availability PI Replication Colin Breck, PI Server Team Dave Oda, PI SDK Team.
Docker for Ops: Operationalize Your Apps in Production Vivek Saraswat Sr. Product Evan Hazlett Sr. Software
ClickOnce Deployment (One-click Deployment)
Introduction to Oracle Forms Developer and Oracle Forms Services
Introduction ITEC 420.
CIIT-Human Computer Interaction-CSC456-Fall-2015-Mr
Netscape Application Server
N-Tier Architecture.
Introduction to Oracle Forms Developer and Oracle Forms Services
Docker Birthday #3.
Introduction to Oracle Forms Developer and Oracle Forms Services
Platform as a Service.
Smart Client Deployment With Microsoft® Windows® Forms
Implementing a service-oriented architecture using SOAP
Service-centric Software Engineering
Web Development Using ASP .NET
Introduction to Databases Transparencies
LitwareHR v2: an S+S reference application
Saranya Sriram Developer Evangelist | Microsoft
Internet and Web Simple client-server model
Mark Quirk Head of Technology Developer & Platform Group
Microsoft Azure Services Platform
Presentation transcript:

System Architecture LEPL Financial-Analytical Service, Ministry of Finance October, 2015 Dimitri Rakviashvili, Head of Software Department

2 Personal Introduction and Agenda Personal Introduction System Architecture – Global Topics: Technology, Patterns, Layers, Toolset System Architecture – Look inside: Core Components and Supporting Services Discussion (Questions And Answers)

3 Bigger Picture, Core and Supporting Components eTreasury PFMS eBudget eDMS Supporting Systems ePassport, Procurement Database Cache, Currency Rates Cache, Civil Registry Cache… External Systems RTGS, Currencies (National Bank), Procurement, Civil Registry.. eHRMS

4 Distributed Architecture Distributed Architecture was used during designing core system components ›Each core system is able to work independently for a period of time, performing regular day to day operational activities ›Each core system is dependent on another core system in specific business processes ›Each core system has isolated database, that contains synchronized snapshot of partner’s data, required to perform operational activities. › All systems are created using common software standards. › All systems are developed/managed separately, using common management framework and development environment. › Integration topics are controlled by “integration group” › All systems are hosted independently

5 Distributed Architecture (Benefits) Benefits from using distributed architecture ›Increased scalability ›Increased stability ›Less count of “Single Point of Failures” ›Reduced disaster probability ›More agility in development / release / change ›Separate timeline for projects ›Simplification of management

6 System Architecture: Tiring Database Server or Cluster Relational database engine, application’s persistent storage Reporting Server Separate report rendering engine Multidimensional Data Server Separate engine for optional aggregation of relational data. Tier 1: Database Server Tier Tier 2: Application Server Tier Tier 3: Client Tier Web Application Server (Farm) Publishes application logic using open protocols. Provides endpoints for client applications and processes client requests in real-time (no UI renders) Internal Application Server (Farm) Contains application logic, that is used in processes, separated from client. Performs internal operations, data processing, communications, regular and scheduled tasks… Client Applications Renders visual interface and provides user functionality. Is organized in “thin client” manner, does not contain business logic separate component. U External Systems Consumes system functionality, published to external clients Internal Integration Systems Performs system integration activities

7 System Architecture: Networking Database Servers Reporting Server Internal Network Web / Internal Application Servers Internal Operations, Integration Public Network (Internet) Client Application External System Untrusted Integration DMZ (Demilitarized zone) Web Application Servers External Operations, Untrusted Integration Firewall Virtual Private Network External System Trusted Integration Firewall

8 System Architecture: Common Principles Reliable Enterprise Patterns ›Layered Design (Architecture) ›Service Oriented Architecture Enterprise-level platform/libraries/frameworks/helpers ›Vendor Supported platform ›Commercially obtained frameworks and libraries

9 System Architecture: Logical Organization, Layers Data Sources Data Access Components Data Helpers/ Utilities Service Agents DATA LAYER Services Business Workflow Business Components Business Entities BUSINESS LAYER Service Interfaces Service Contracts Message Types Data Contracts SERVICE LAYER View Model PRESENTATION LAYER View, Components Model Users External Systems

10 System Architecture: SOA eDMS PFMS Core eBudget eTreasury Users Client Application External Systems Integration Partners PFMS architecture is also aligned with Service Oriented Architecture Principles ›PFMS Core is visible as a service from outside ›PFMS components use services in intercommunications ›PFMS Core provides open and documented public service interfaces, compatible with open standards (SOAP) (1) ›PFMS Core and Client Applications, including UI blocks, are loosely coupled – clients are not dependent on realization of business logic (they depend on service model) (2) ›PFMS implementation is not shared with clients, only contracts are shared (3) eHRMS

11 System Architecture: Common Principles (2) Base Principles of Software Design ›Separation of Concerns (SOC) ›Don’t repeat yourself Principle (DRY) ›Keep it Simple, Stupid (KISS) ›Build to change ›Avoid big design upfront (BDUF) Base Principles of SOLID Object Oriented Design ›Single Responsibility Principle (SRP) ›Open/closed principle ›Liskov substitution principle ›Interface segregation principle ›Dependency inversion principle

12 System Architecture: Common Principles (3) Base Principles of Secure Architecture ›Least Privilege ›Separation of Duties ›Defense in Depth (Layered Security) ›Fails Safe (Fail Secure) ›Economy of Mechanisms ›Complete Mediation ›Lease Common Mechanisms vs Leverage Existing Components ›Open Design ›Weakest Link ›Single point of Failure

13 System Architecture: Scalability and Performance … PFMS Service Core Operational Service 1 Users and External Systems Client Application, Integration Partners PFMS architecture is scalable by design ›PFMS Service Core is built using Per-Call model. So there is no state. Authorization data is passed in every call ›As a result, services are scalable. Any count of application servers can be added to web farm to provide needed performance ›Static object caching also increases overall performance. Every slowly changing data entity can be cashed at special service node at first request. Subsequent client requests will use cashed data. ›Virtualization is used to provide additional scalability, when system components can not be duplicated (like DBMS) Operational Service N Static Services Classifiers, other slowly changing data

14 System Architecture: Scalability and Performance (2) PFMS Service Core PFMS implements expensive operations as separate system component. ›Operational Service registers user request for expensive operation are registered through Operational Service request in “asynchronous operation queue”, that is organized as FIFO buffer. Control is immediately returned to client. ›Asynchronous operation is processed on any free Internal Application Server in farm or scheduled to be processed in the queue. Process can be scaled. ›User periodically polls Operational Service to get status and results of Asynchronous operation that is running on Internal Application Server Request Registration Operational Application Server Users and External Systems Client Application, Integration Partners Time/Resource Expensive operation Request Processing Internal Application Server Request Status Polling Operational Application Server

15 System Architecture: Client Applications and content delivery method PFMS functionality is delivered through Web ›PFMS Client Applications are organized as applets. System client applet is loaded in web browser once and initialized at user’s side, when she simply accesses URL in her browser. All subsequent calls are data- centric, there is no server side UI renders. ›Deployment is easy, as there is no need to install new version of software, to user’s computer. Applets should be published to Application’s Web Server. ›HTML/CSS/JS Single Page Application version of core PFMS client applications should be delivered in mid System architecture will stay unchanged. Client Application Hosted at Separate Web Site Operational Application Server Users Client Application in Web Browser Applet request, download, initialization Request Processing Service Web Site Operational Application Server Subsequent data requests PFMS Application Server

Hosting Operating Systems, Technologies and Frameworks Infrastructure ›Microsoft Windows Server (2012) ›.NET Runtime (4.5) ›Microsoft IIS Service (8) ›Windows Activation Services ›Microsoft SQL Server Database Engine (2012) › Microsoft SQL Server Reporting Services › Microsoft SQL Server Analysis Services

Toolset – Development Environment: Business Logic Infrastructure ›.NET Framework Class Library 4.5 ›C# 5.0 ›Windows Communications Foundation 4.5 › Windows Services ›Microsoft Visual Studio 2013

Development Environment: Database and Reporting Infrastructure ›Core Platform: Microsoft SQL Server 2012, Analysis Services, Reporting Services ›Transact-SQL ›MDX language (Multidimensional Expressions) ›RDL (Report Definition Language) ›Microsoft SQL Server Management Studio 2012

Development Environment: User Interface Infrastructure Current (used from 2010) ›XAML (Extensible Application Markup Language) + Silverlight ›Microsoft Expression Blend for Visual Studio ›Telerik Visual Library Pilot (started in 2015, to be completed in 2016) ›HTML/JavaScript/CSS - Single Page Application ›Angular JS ›Kendo UI

20 System Architecture: Look Inside – eTreasury Components Primary DB System primary operational database Reporting Report rendering engine Data Cube Non-relational multidimensional database Warehouse DB Separated de-normalized database Application Core ePassport FASS – Currency Rates FASS – Civil Registry FASS – Public Registry Utility Components GPSS / RTGS eBudget eTreasury eDMS Front Office Front Office Application Front Office Operational Service Front Office Cache Service Operational Public API Service Warehouse Application Warehouse Operational Service Middle Office Middle Office Application Middle Office Service Middle Office Cache Service Back Office Back Office Application Back Office Operational Service Back Office Cache Service Revenue Integration Service eBudget, eDMS Integr. Service Procurement Integr. Service Warehouse API Service Background Worker GPSS/RTGS Jobs Currency Rates Jobs SWIFT Jobs Asynchronous Operations

21 System Architecture: Look Inside – ePassport Components Plugin Engine for Data Management Client data providers Management Console Management of Applications, Permissions, Roles Single Signon Portal Membership Services Integration Services (API) for clients/ human authorization Membership Services for Systems Integration Services (API) for clients / machine authorization Integration Points Partner System 1 Partner System N … Database Clustered relational storage DigiPass Security Infrastructure FAS PKI Security Infrastructure Civil Registry PKI Security Infrastructure

22 System Architecture: Look Inside – FASS Components Single Integration Point One communication point for all external data. Centralized logging and permission control for external data requests. Client System 1 Client System N … Database Local Cash Database Synchronization Services Windows Services for background job Civil Registry National Bank Public Registry …

Thanks for your attention! Please feel free to ask questions.