350 parts. i-bank functional structure ▪technical modules – authentication – auditing – user profile – OTP functionality – e-mail notifications – push.

Slides:



Advertisements
Similar presentations
PCT303 – Content Publishing in SharePoint Eugene Rosenfeld Black Blade Associates
Advertisements

Course Readings in Learning Management Systems Mike Waugh Louisiana State University Eric Frierson EBSCO Information Services CNI Spring Meeting 2014.
Building Scalable Automation Systems in Visual Studio .NET
Netcentives Inc. 475 Brannan St. San Francisco, CA NASDAQ: NCNT Netcentives Inc. 475 Brannan St. San Francisco,
Key-word Driven Automation Framework Shiva Kumar Soumya Dalvi May 25, 2007.
Futures – Alpha Cloud Deployment and Application Management.
Spring, Hibernate and Web Services 13 th September 2014.
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 5 Architecture-Driven Component Development.
Online Magazine Bryan Ng. Goal of the Project Product Dynamic Content Easy Administration Development Layered Architecture Object Oriented Adaptive to.
Firefox 2 Feature Proposal: Remote User Profiles TeamOne August 3, 2007 TeamOne August 3, 2007.
Automated Tests in NICOS Nightly Control System Alexander Undrus Brookhaven National Laboratory, Upton, NY Software testing is a difficult, time-consuming.
July Interface Monthly Meeting Sunflower Project Statewide Management and Reporting Tool Update July 14, 2009.
Software Library Configuration 1 Travis Love Technical Service Engineer.
The Spring Framework: A brief introduction to Inversion of Control James Brundege
Dependency Injection and Model-View-Controller. Overview Inversion of Control Model-View-Controller.
Presenter - Donn Felker.  Senior Consultant for Microsoft Gold Certified Partner- Statêra.  8 years of experience in developing and architecting enterprise.
Framework for Automated Builds Natalia Ratnikova CHEP’03.
Administrative Technology Services: Enterprise Applications
CS 160: Software Engineering October 8 Class Meeting
© 2007 by «Author»; made available under the EPL v1.0 | Date | Other Information, if necessary Eclipse SOA Tools Platform Project Eric Newcomer IONA Technologies.
Afsin Ustundag. Preliminary Deliverables List of application layer modules Already in the OSEHRA Architecture document Number of applications: 168 Identification.
Spring Framework. Spring Overview Spring is an open source layered Java/J2EE application framework Created by Rod Johnson Based on book “Expert one-on-one.
Contents 1.Introduction, architecture 2.Live demonstration 3.Extensibility.
BW Know-How Call : Performance Tuning dial-in phone numbers! U.S. Toll-free: (877) International: (612) Passcode: “BW”
Inversion Of Control & Dependency Injection Break Apart The Dependencies Oren Eini Senior Developer We! Consulting Group
Shakeh Elisabeth Khudikyan NASA Jet Propulsion Laboratory, California Institute of Technology A Look at Apache OODT Balance Framework.
Introduction to the Adapter Server Rob Mace June, 2008.
Hands-On Microsoft Windows Server Implementing Microsoft Internet Information Services Microsoft Internet Information Services (IIS) –Software included.
A Presentation By V AIBHAV S AHARAN Web-enHanced Information Management COMS E6125.
Refactoring for Testability (or how I learned to stop worrying and love failing tests) Presented by Aaron Evans.
Module 6: Deploying and Managing Software by Using Group Policy.
Alternative Architectures: Inversion of Control Mike Hadlow mikehadlow.blogspot.com.
Introducing Allors Applications, Tools & Platform.
A Technical Guide to ERMS Bill Manago, CRM. What You Need to Plan For Implementing an Electronic Records Management System Out of the Box What you should.
Information Services Internet Accounting Workshop 1 st Feb 2011 Peter Kurtz Manager, Network & Communication Services.
Component based Progress Programming VALENTIN DURICU
Module 12: Configuring and Managing Storage Technologies
A Technical Overview Bill Branan DuraCloud Technical Lead.
verifone HQtm Estate Management Solution
Automated tests CustomWare.Net. Goals Quality Finding problems before delivering Stability Upgrade projects Downgrade Refactoring Deacreasing of manual.
Globus: A Report. Introduction What is Globus? Need for Globus. Goal of Globus Approach used by Globus: –Develop High level tools and basic technologies.
Test Driven Development Introduction Issued date: 8/29/2007 Author: Nguyen Phuc Hai.
Analyzing Code with CAST RPA SCAN. IDENTIFY. ACT..
Excel Services Displays all or parts of interactive Excel worksheets in the browser –Excel “publish” feature with optional parameters defined in worksheet.
How Software Projects Start SW projects start with a need. We need to keep better data on the students in the CSCE Dept. I heard that one of our competitors.
Introduction to Inversion Of Control (IOC). IOC Definition (based on Wikipedia)  Consider the way in which an object obtains references to its dependencies.
Windows Azure and iOS Chris Risner Windows Azure Technical Evangelist Microsoft
Copyright © 2006, Oracle. All rights reserved. Czinkóczki László oktató Using the Oracle Warehouse Builder.
Java IDE Dwight Deugo Nesa Matic
Slide 1 © 2016, Lera Technologies. All Rights Reserved. Oracle Data Integrator By Lera Technologies.
EGI NA3 – Web site training services University of Edinburgh (0.25 funded FTE)
JACoW / SPMS Joint Accelerator Conference Web (JACoW) Site Scientific Program Management System (SPMS) Conference Database Management Software Matt Arena,
Feedback on the Strategic Direction of the General and Core Systems
Mocking tools for easier unit testing
The Development Process of Web Applications
Maintaining software solutions
موضوع سمینار : نقش مولفه ها در معماری سرویس گرا
GIFT / Fiscal Data Package Iteration 3
Simplified Development Toolkit
W3C, 22 Oct 2018 Chris Michael Open Banking Update W3C, 22 Oct 2018 Chris Michael
Academy Hub An eUnomia Factory Solution.
e-Invoicing – e-Ordering 20/11/2008
敦群數位科技有限公司(vanGene Digital Inc.) 游家德(Jade Yu.)
Executable Specifications
Academy Hub An eUnomia Factory Solution.
Chapter 2: Building a System
Dependency Injection Mechanism
Building a “System” Moving from writing a program to building a system. What’s the difference?! Complexity, size, complexity, size complexity Breadth.
Presentation transcript:

350 parts

i-bank functional structure ▪technical modules – authentication – auditing – user profile – OTP functionality – notifications – push notifications – etc ▪business modules – deposits – cards – loans – bill payments – investments – transaction files – etc

i-bank code structure ▪15 technical modules ▪35 business modules ▪350 projects ▪240k lines

ALM planning defining designing building deployment testing

modular design business area designing building deployment testing designing building deployment testing designing building deployment testing planning defining planning defining planning defining

modular design customer component (c# project) product component (c# project) order component (c# project) day #1 designing building deployment testing designing building deployment testing designing building deployment testing

modular design customer component (c# project) product component (c# project) order component (c# project) day #2 designing building deployment testing designing building deployment testing designing building deployment testing

circular reference customer component (c# project) product component (c# project) order component (c# project) day #3 designing building deployment testing designing building deployment testing designing building deployment testing

modular design customer component (c# project) product component (c# project) order component (c# project) day #4 designing building deployment testing designing building deployment testing designing building deployment testing

modular design customerproductorder component (c# project) day #5 designing building deployment testing

dependency resolution customer component (c# project) product component (c# project) order component (c# project)

modular design component implementation component interface component (folder) component publishing component implementation component interface component (folder) component publishing component implementation component interface component (folder) component publishing c# projects customer productorder implementation projects web service dependency rdbms dependency

component interface data contractsservice interfaces very simple reusable methods classes vs interfaces

invalid paths component implementation c# projects component interface component (folder) component publishing customer component (folder) component implementation component interface component publishing product component implementation component interface component (folder) component publishing order

valid paths c# projects component implementation component interface component (folder) component publishing customer component implementation component interface component (folder) component publishing order component implementation component interface component (folder) component publishing product

modular design component implementation component interface component (folder) component publishing customer component implementation component interface component (folder) component publishing product component implementation component interface component (folder) component publishing order nuget packages

interfaceimplementation c# decoupling tools extension methods

type mapping c# decoupling toolsextension methods

dependency propagation component (c# project) unit component (c# project) unit component (c# project) unit component (c# project) unit component (c# project) unit application high level libraries low level libraries configuration db connection logging c# decoupling tools dependency injection

dependency resolution component (c# project) unit component (c# project) unit component (c# project) unit component (c# project) unit component (c# project) unit application high level libraries low level libraries configuration factory abstract factory static factory service locator c# decoupling tools dependency injection

controller constructor c# decoupling tools dependency injection

simple injector configuration c# decoupling tools dependency injection

1 st upload (Sept 2014) ▪255k lines ▪30% Duplicated Code (49k lines, 9.5k units) ▪11k C# lines 61+ LOC ▪2k C# lines McCabe 26+ ▪1k C# lines > 4 Parameters

1 st upload (Sept 2014) ▪255k lines ▪30% Duplicated Code (49k lines, 9.5k units) ▪11k C# lines 61+ LOC ▪2k C# lines McCabe 26+ ▪1k C# lines > 4 Parameters

unit & module guidelines ▪short units of code – up to 15 lines ▪simple units of code – up to 4 branch points ▪write code once ▪small unit interface ▪separate concerns in modules – small modules refactoring techniques extract method extract object unit: method, function module: file, class, function

module guidelines ▪loosely coupled components – small module interface ▪balanced number & size of top level components ▪small codebase

technology & tools ▪ TypeScript ▪ npm, bower, gulp, tsd, … ▪ internal package repository (Nexus) ▪ build automation (TFS) ▪ maintainability tools (SonarLint) ▪ maintainability monitoring (SIG, SonarQube)