Trends in .Net Application Development

24
Trends in .NET Trends in .NET Development Development David Campaña David Campaña CTO, NYC Department of CTO, NYC Department of Finance Finance

Transcript of Trends in .Net Application Development

Page 1: Trends in .Net Application Development

Trends in .NET Trends in .NET DevelopmentDevelopment

David Campaña David Campaña

CTO, NYC Department of CTO, NYC Department of FinanceFinance

Page 2: Trends in .Net Application Development

What We Will CoverWhat We Will Cover A Finance IT Modernization ExerciseA Finance IT Modernization Exercise

‘‘The Dirty 30’The Dirty 30’ The Business and IT Value of .NETThe Business and IT Value of .NET The Industry, SOA and .NETThe Industry, SOA and .NET Microsoft Products and SolutionsMicrosoft Products and Solutions Getting Started and Getting Started and

Implementing .NET SolutionsImplementing .NET Solutions Our Challenges and Next StepsOur Challenges and Next Steps Q & A SessionQ & A Session

Page 3: Trends in .Net Application Development

FIT’s Modernization FIT’s Modernization Exercise Part IExercise Part I

The ‘Dirty 30’The ‘Dirty 30’ Review both Technology Stack and Application Review both Technology Stack and Application

Portfolio for:Portfolio for: Dirty (legacy, unsupported, obsolete or un-leverage-able) Dirty (legacy, unsupported, obsolete or un-leverage-able)

technology and processestechnology and processes Overly simplified systems which can be easily combined or Overly simplified systems which can be easily combined or

built upon a ‘common’ framework and technologybuilt upon a ‘common’ framework and technology Leverage existing infrastructure, resources and Leverage existing infrastructure, resources and

technologiestechnologies Hardware to heartbeatHardware to heartbeat

Reduce overall Development cost and time, Simplify Reduce overall Development cost and time, Simplify Operations and Maintenance and gain scalability by Operations and Maintenance and gain scalability by using common interfaces and interoperabilityusing common interfaces and interoperability

Intelligent Work StationIntelligent Work Station Data WarehouseData Warehouse

Page 4: Trends in .Net Application Development

The ‘Dirty 30’ ChallengesThe ‘Dirty 30’ Challenges Like any other Government Modernization EffortLike any other Government Modernization Effort

Finding more ‘Dirt’ than anticipatedFinding more ‘Dirt’ than anticipated Not finding enough documentation and resources to Not finding enough documentation and resources to

validatevalidate Government IT Modernization Additional DriversGovernment IT Modernization Additional Drivers

Business Modernization has to work in concert (even Business Modernization has to work in concert (even drive) the IT Modernizationdrive) the IT Modernization

Demands from StakeholdersDemands from Stakeholders Partner Divisions, Agencies, Companies and CitizensPartner Divisions, Agencies, Companies and Citizens

Demographic ChangesDemographic Changes Social and Cultural Dynamics, RetireesSocial and Cultural Dynamics, Retirees

Capital Spending Budgeting, Fiscal CrisisCapital Spending Budgeting, Fiscal Crisis Do More With Less…..Do More With Less…..

Page 5: Trends in .Net Application Development

Business Value in .NETBusiness Value in .NET

.NET Platform / Solutions facilitates .NET Platform / Solutions facilitates several types of application solutionsseveral types of application solutions Customer Relationship ManagementCustomer Relationship Management Accounting ApplicationsAccounting Applications Value Chain/ Supply ManagementValue Chain/ Supply Management Enterprise Content Management and Enterprise Content Management and

CollaborationCollaboration XML Web ServicesXML Web Services Web Sites, Portals and GatewaysWeb Sites, Portals and Gateways Corporate Performance ManagementCorporate Performance Management Reporting ServicesReporting Services

Page 6: Trends in .Net Application Development

Business wants results and returns on Business wants results and returns on technology spendtechnology spend

.NET Solutions.NET Solutions Scalable, Maintainable and Deployable Scalable, Maintainable and Deployable

using common frameworks and processesusing common frameworks and processes Leverage already installed infrastructureLeverage already installed infrastructure Extend the use of human capital, Extend the use of human capital,

empower users with technology with empower users with technology with seamless integration with common toolsseamless integration with common tools

Interoperation and Integration into Interoperation and Integration into Legacy applications and systemsLegacy applications and systems

Business Value in .NETBusiness Value in .NET

Page 7: Trends in .Net Application Development

IT Value in .NETIT Value in .NET

Vast Amount of ResourcesVast Amount of Resources Internal, External and ServicesInternal, External and Services

Familiarity With TechnologyFamiliarity With Technology Strong Partnership with MicrosoftStrong Partnership with Microsoft Time to MarketTime to Market

TrainingTraining Deployment SolutionsDeployment Solutions

Page 8: Trends in .Net Application Development

Industry Adoption rate for Industry Adoption rate for SOA and .NETSOA and .NET

The % of The % of organizations organizations surveyed surveyed reporting .NET as reporting .NET as their primary their primary development development platform for SOA platform for SOA

.NET increased from .NET increased from 29% to 41% from 29% to 41% from 2006 to 2007.2006 to 2007.

Java declined from Java declined from 67 to 23% in that 67 to 23% in that same period same period

Page 9: Trends in .Net Application Development

Development Trends Development Trends and .NETand .NET

Java taking big hits while .NET penetration Java taking big hits while .NET penetration doublingdoubling

Other technologies (open source, Python, PHP Other technologies (open source, Python, PHP and Ruby ) gaining much more tractionand Ruby ) gaining much more traction

More companies are moving to .NET Framework More companies are moving to .NET Framework for SOA developmentfor SOA development

Page 10: Trends in .Net Application Development

Microsoft Products and Microsoft Products and SolutionsSolutions

Many (if not all) of Microsoft’s Many (if not all) of Microsoft’s web-based solutions are built web-based solutions are built on .NETon .NET Complete COTS SolutionsComplete COTS Solutions

Microsoft CRM and Great Microsoft CRM and Great PlainsPlains

Portal, Collaboration and ECMPortal, Collaboration and ECM Microsoft Sharepoint and Microsoft Sharepoint and

InfoPathInfoPath Corporate Performance Corporate Performance

ManagementManagement Microsoft Performance PointMicrosoft Performance Point

Middleware and Database Middleware and Database SolutionsSolutions

Microsoft BizTalk Microsoft BizTalk Microsoft SQLServer and SQL Microsoft SQLServer and SQL

Reporting ServicesReporting Services

All of the client All of the client based tools are based tools are built to fully built to fully integrate into integrate into the .NET fabricthe .NET fabric Microsoft Office Microsoft Office

2003 / 20072003 / 2007 Microsoft Microsoft

Sharepoint DesignerSharepoint Designer Microsoft Visual Microsoft Visual

StudioStudio

Page 11: Trends in .Net Application Development

Getting Started and Getting Started and Implementing .NET Implementing .NET

SolutionsSolutions Defining Criteria, Measures for Success and Defining Criteria, Measures for Success and

TimelinesTimelines Selecting ‘Quick Win’ SolutionsSelecting ‘Quick Win’ Solutions Standardizing on Architecture and FrameworkStandardizing on Architecture and Framework Building A TeamBuilding A Team

Microsoft Boot CampMicrosoft Boot Camp Data Analytics TeamData Analytics Team

Hardware and Software Implementation and Hardware and Software Implementation and Training PartnersTraining Partners

Deploying and Maintaining .NET Solutions Deploying and Maintaining .NET Solutions

Page 12: Trends in .Net Application Development

Defining Criteria, Measures Defining Criteria, Measures for Success and Timelinesfor Success and Timelines

CriteriaCriteria Small to Medium sized applicationsSmall to Medium sized applications Clear Business function / process / directionClear Business function / process / direction

Success FactorsSuccess Factors Business owned and supported business Business owned and supported business

applicationsapplications Extendable and repeatable solutionsExtendable and repeatable solutions

Project TimelinesProject Timelines Soup to Nuts implementation – 4 monthsSoup to Nuts implementation – 4 months

Page 13: Trends in .Net Application Development

Selecting ‘Quick Wins’Selecting ‘Quick Wins’

Identify initiatives which allow forIdentify initiatives which allow for Limited customization of COTS solutionLimited customization of COTS solution Clear Business buy-in, stake holders Clear Business buy-in, stake holders

and business processand business process Use you ‘rally’ technologyUse you ‘rally’ technology

For Finance IT, it was SharePoint, For Finance IT, it was SharePoint, PerformancePoint and SQLServerPerformancePoint and SQLServer

Where your team gains the most IT Where your team gains the most IT experience with consultants directingexperience with consultants directing Keep team hands-on throughout projectKeep team hands-on throughout project

Page 14: Trends in .Net Application Development

Standardize on an Standardize on an Architecture and Architecture and

FrameworkFramework From a software perspective, an From a software perspective, an ArchitectureArchitecture is a is a design (or “blueprint”) of an application system, design (or “blueprint”) of an application system, which may leverage one or more Frameworks. An which may leverage one or more Frameworks. An Enterprise Architecture Enterprise Architecture is an even higher level is an even higher level design that attempts to encompass multiple design that attempts to encompass multiple application system under a common overall design.application system under a common overall design.

A A Software Framework Software Framework is a re-usable design for a is a re-usable design for a software system (or subsystem). A software software system (or subsystem). A software framework may include support programs, code framework may include support programs, code libraries, a scripting language, or other software to libraries, a scripting language, or other software to help develop and help develop and glue togetherglue together the different the different components of a software project. Various parts of components of a software project. Various parts of the framework may be exposed through an the framework may be exposed through an Application Programming Interface (API).Application Programming Interface (API).

With these in hand, you can focus on solutions rather With these in hand, you can focus on solutions rather than technologythan technology

Page 15: Trends in .Net Application Development

FITFIT Application Application ArchitectureArchitecture

Page 16: Trends in .Net Application Development

Example of a single Framework Example of a single Framework API from a functionality API from a functionality

standpoint (logging)standpoint (logging)

SNMPFlat FileIDataSourceSMTPEvent LogMSMQ

Transport TramsportTransport Event Log Transport

Filter

Formatter Formatter Formatter

Transport Transport

Formatter Formatter

Filter Filter Filter Filter

Pre-Process Handlers

Formatter

Filter

Post-Process Handlers

Expose functionality in the simplest wayExpose functionality in the simplest way

Page 17: Trends in .Net Application Development

FIT Proposed Enterprise FIT Proposed Enterprise ArchitectureArchitecture

Page 18: Trends in .Net Application Development

Building a TeamBuilding a Team Hardest PartHardest Part Identifying high ceiling developers, Identifying high ceiling developers,

analysts and business partnersanalysts and business partners DevelopersDevelopers

Familiarity with a 3GL languageFamiliarity with a 3GL language Deep business knowledge of legacy systems Deep business knowledge of legacy systems

and/or technologyand/or technology AnalystsAnalysts

Understand business process (and re-Understand business process (and re-engineering)engineering)

Thinks, acts in a data-driven fashionThinks, acts in a data-driven fashion Business PartnersBusiness Partners

Understand solutions in an iterative approachUnderstand solutions in an iterative approach

Page 19: Trends in .Net Application Development

Microsoft .NET Boot Microsoft .NET Boot CampCamp

Conceived 12 months agoConceived 12 months ago Microsoft Competency CenterMicrosoft Competency Center

.NET Framework and technology.NET Framework and technology SQLServer for dataSQLServer for data Active Directory for Security and Identity Active Directory for Security and Identity

ManagementManagement Exchange for communicationsExchange for communications COTS solutions managementCOTS solutions management

Three developersThree developers Various degrees of development experienceVarious degrees of development experience Started projects where I was userStarted projects where I was user

Page 20: Trends in .Net Application Development

Performance Data Performance Data AnalyticsAnalytics

Rallied around a solutionRallied around a solution Used mission and data to learn Used mission and data to learn

technology solutiontechnology solution Leveraged COTS solution built Leveraged COTS solution built

on .NET frameworkon .NET framework Strong Business Partnership which Strong Business Partnership which

in turn allows / requires us to dive in turn allows / requires us to dive deeper into the technology solutiondeeper into the technology solution

Page 21: Trends in .Net Application Development

Hardware, Software Hardware, Software Implementation and PartnersImplementation and Partners Hardware ImplementationHardware Implementation

Pick a vendor, make them a partnerPick a vendor, make them a partner Centralize whenever possibleCentralize whenever possible Build n-tiered environmentsBuild n-tiered environments

Software ImplementationSoftware Implementation Select solutions which quick value addSelect solutions which quick value add

Sharepoint, SQLServer, Active Directory, Exchange, Sharepoint, SQLServer, Active Directory, Exchange, COTSCOTS

PartnersPartners Identify Key stakeholdersIdentify Key stakeholders Hold them accountableHold them accountable Leverage relationships (internal and external) Leverage relationships (internal and external)

whenever possiblewhenever possible

Page 22: Trends in .Net Application Development

Deploying and Deploying and Maintaining .NET Solutions Maintaining .NET Solutions .NET Framework solutions tie into all .NET Framework solutions tie into all

aspects of Production Operationsaspects of Production Operations Infrastructure GroupsInfrastructure Groups

SecuritySecurity Physical Hardware locationsPhysical Hardware locations

Production SupportProduction Support Help DeskHelp Desk

Change ManagementChange Management Code migration through environments, Code migration through environments,

productionalizingproductionalizing

Page 23: Trends in .Net Application Development

Challenges and Next Challenges and Next StepsSteps

ChallengesChallenges Tying Training to TimelinesTying Training to Timelines Consultant vs. Internally Driven ProjectsConsultant vs. Internally Driven Projects Urgency to introduce more technologies, robust Urgency to introduce more technologies, robust

implementationsimplementations Selection criteria for development solutionsSelection criteria for development solutions

Next StepsNext Steps Stronger partnerships throughoutStronger partnerships throughout Evolve via training and project exposureEvolve via training and project exposure Building a core foundation for services based on Building a core foundation for services based on

identified processes and developed frameworksidentified processes and developed frameworks

Page 24: Trends in .Net Application Development

QuestionsQuestions

David CampanaDavid Campana 59 Maiden Lane, 2559 Maiden Lane, 25thth Floor, NYC Floor, NYC [email protected]@finance.nyc.gov