Trends in .Net Application Development
Transcript of 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
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
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
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…..
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
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
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
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
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
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
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
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
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
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
FITFIT Application Application ArchitectureArchitecture
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
FIT Proposed Enterprise FIT Proposed Enterprise ArchitectureArchitecture
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
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
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
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
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
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
QuestionsQuestions
David CampanaDavid Campana 59 Maiden Lane, 2559 Maiden Lane, 25thth Floor, NYC Floor, NYC [email protected]@finance.nyc.gov