Home >Technology >Distributed Middleware Factory

Distributed Middleware Factory

Date post:17-Nov-2014
Category:
View:2,831 times
Download:0 times
Share this document with a friend
Description:
How to do large scale distributed software development
Transcript:
  • 1. Distributed Middleware Factory Ramn Arellano (Accenture) and Paul Ren Jrgensen (Telenor)

2. About us

  • Ramn Arellano
  • Work experience
  • 6 years of experience as a technical consultant from Accenture
  • E-mail
  • [email_address]
  • Paul Ren Jrgensen
  • Work experience
  • 5 years of experience from Telenor
  • E-mail
  • [email_address]

3. Distributed Middleware Factory - definition

  • Distributed
    • In the geographical sense of the word, i.e. various locations spread around the world
  • Middleware
    • The communication layer that lets applications interact across hardware and network environments
  • Factory
    • A facility used to manufacture goods in an effective way, using standardized industrial processes and specialized equipment

4. Distributed Middleware Factory definition continued

  • Multiple teams in different locations, producing software for system integration, on the same platform, using standardized architecture and tools

5. So what are we going to talk about?

  • Middleware platform for Telenor Fixed Line Services
  • Metro - A distributed middleware factory
  • In this talk well share our experiences from its evolution and some secrets from the past 6 years

6. Epochs in Metro history

  • Epoch 0 Medieval Age
  • Epoch 1 Gunpowder Age
  • Epoch 2 Enlightenment
  • Epoch 3 Industrial Age
  • Epoch 4 Modern Age

7. Epoch 0 Medieval Age

  • Year 2000
  • Challenges
    • Where is the vision for the future?
    • Use of the existing middleware platform is not mandatory
    • Kings and kingdoms and their point to point integrations

Medieval Age Gunpowder Age Enlightenment Age Industrial Age Modern Age 8. The Metro Vision

    • All integration between systems for Telenor Fixed Line services to be implemented through Metro platform

Medieval Age Gunpowder Age Enlightenment Age Industrial Age Modern Age 9. Metro platform goals

  • To offer test and production environments to all development project
  • To enforce architecture and development standards
  • To supply a common set of core components

Medieval Age Gunpowder Age Enlightenment Age Industrial Age Modern Age 10. Distributed development model

  • The platform is managed and controlled by a small, centralized team
  • The Telenor employer selects softwaresupplier
  • The software supplier performs the implementation on the platform

Medieval Age Gunpowder Age Enlightenment Age Industrial Age Modern Age 11. DistributedvsCentralized

  • Employer chooses software supplier
  • Development is done where the supplier is
  • Easier to get new developers up and running
  • Requires a stronger regime and documented standards
  • Platform team chooses software supplier
  • Development is done in-house
  • Easier communication between all teams involved
  • Does not scale so easily

Platform Platform Employer Employer Employer Employer Employer Supplier Employer Employer Employer Employer Employer Supplier Medieval Age Gunpowder Age Enlightenment Age Industrial Age Modern Age 12. Epoch 1 Gunpowder Age

  • Year 2001
  • Challenges
    • The volume and complexity of Telenor
    • Common architecture
    • How do we organize SI-testing?

Medieval Age Gunpowder Age Enlightenment Age Industrial Age Modern Age 13. Statistics

  • In an average hour the platform is processing
    • 61 200 web requests from the internet
    • 115 200 EJB invocations
    • 2 880 000 database queries
    • 65 MB log messages (1,5GB in a day)
  • Volume
    • Over 50 systems integrated
    • Average 200 deployments a year
    • Over 250 different developers from all over the world have written code
    • Metro platform team guides up to 30 teams at the same time

Medieval Age Gunpowder Age Enlightenment Age Industrial Age Modern Age 14. Name a technology, and weve got it EBXML Tibco B2B SOAP, Proprietary HTTP/XML Web Services Proprietary XML (JItegra Java COM bridge) IIS / ASP J2EE, RMI, Corba Java Terminal, Screen Scraping, MQ, CICS IBM Mainframe (MVS) Siebel XML Siebel JDBC, ODBC, DB2Connect Oracle, Sybase, MySQL, DB2 Protocol Technology Medieval Age Gunpowder Age Enlightenment Age Industrial Age Modern Age 15. Technology at the base

  • J2EE is the chosen technology
  • IBM WebSphere is the chosen application server
    • Started off with IBM WebSphere 3.5 and J2EE 1.1
  • WSAD as IDE (based on Eclipse)
  • IBM MQ Server for messaging

Medieval Age Gunpowder Age Enlightenment Age Industrial Age Modern Age 16. Layered architecture Medieval Age Gunpowder Age Enlightenment Age Industrial Age Modern Age 17. Informal roles

  • Experience has shown us the importance of having roles in a team
  • The roles are more or less self imposed
  • Examples
    • The hardware geek
    • The Maven guru
    • The support girl
    • The documentation dude
    • The tool guy

Medieval Age Gunpowder Age Enlightenment Age Industrial Age Modern Age 18. Test Environments

  • Implementation, building and unit testing on developers laptop
  • System integration testing on 60 blade servers running the full J2EE runtime environment
    • One for each development project!
  • Acceptance Test environment administered by the platform team

Medieval Age Gunpowder Age Enlightenment Age Industrial Age Modern Age 19. Epoch 2 - Enlightenment

  • Year 2002-2003
  • Challenges
    • We want to be more innovative
    • How do we get implementation projects to help develop the platform?
    • How do we organize our work and control the deliverables?

Medieval Age Gunpowder Age Enlightenment Age Industrial Age Modern Age 20. The 80/20 rule

  • Innovative and flexible leaders introduced the 80/20 rule
  • Developers were allowed to use 20% of their time to learn and play with new technologies
  • Highly motivating, and has undoubtedly been fruitful for Metro
  • Technologies such as multicasting (Log), FishEye (CVS), were introduced by experimenting

Medieval Age Gunpowder Age Enlightenment Age Industrial Age Modern Age 21. Boiling soup on stone

  • The platform team is responsible for setting the standards for many projects and developers
  • Dave Thomas's book, The Pragmatic Programmer, talks about boiling soup on stone
  • Introducing new technologies and standards by curiosity and envy
  • The whole package more valuable than each part

Medieval Age Gunpowder Age Enlightenment Age Industrial Age Modern Age 22. Metro Roadmap

  • Our common workflow and methodology for all projects
  • A set of phases with corresponding deliverables
  • Waterfall model (may jump backwards and iterate)
  • Each project gets their own supervisor responsible for QA

Medieval Age Gunpowder Age Enlightenment Age Industrial Age Modern Age 23. Roadmap control in Jira

  • Weve got a tool to enforce Metro Roadmap
  • Atlassians inexpensive, but excellent tool Jira provides workflow functionality
  • Controls the flow and stores all document deliverables
  • Its the platform teams communication channelwith development projects

Medieval Age Gunpowder Age Enlightenment Age Industrial Age Modern Age 24. Epoch 3 Industrial Age

  • Year 2004-2005
  • Challenges
    • Lack of documented standards
    • New developers must get up and running fast
    • We feel we could be more efficient in getting new applications out

Medieval Age Gunpowder Age Enlightenment Age Industrial Age Modern Age 25. Document everything

  • Roadmap workflow
  • Architecture principles
  • Development environment setup
  • Naming standards
  • Step-by-step guidelines
  • Testing
Popular Tags:

Click here to load reader

Embed Size (px)
Recommended