SlideShare a Scribd company logo
December 7, 2008
Welcome and Introductions Computer Networking Basics Distributed Computing Fundamentals Platform Wars – Java, .NET and the 3 rd  front You – the techie, manager and salesperson  Technology Buzzwords
Shashank Banerjea President and Founder of Emjive Consulting LLC. Working on various technologies including Java and Microsoft .NET on Windows and Linux platforms since 1999. Masters degree in Computer Applications from Devi Ahliya University, Indore, Madhya Pradesh (INDIA) Wrote my first piece of useful code in 1983 using BASIC on a 8-bit Atari computer.
Ask questions or comment at any time. Fact: I do NOT know everything and can and probably will make things up!!!! Feel free to share your experience. Take notes to check later if you know things differently.
Section 1:
De-facto Standard of Computer to Computer Communication –  TCP/IP. Reason for the rise – dot com boom of the 1990s. Replaced many proprietary protocols such as IPX/SPX (Novell), NetBIOS (Microsoft), Banyan Vines etc on LAN.
Relevance: Foundation of all new applications – enterprise or consumer. No major application today can afford to exist in a silo. Higher level application protocols depend upon TCP/IP stack to exchange information including Web (HTTP), Mail (SMTP, IMAP) and Instant Messaging (XMPP)
IPv4  Addressing – 32 bit address. Presented in canonical form as xxx.xxx.xxx.xxx, where xxx: 0-255. 2 32  = about 4 billion computers on the Internet. Classes of IP Addresses – A, B and C based on network size. D and E (Special Purpose) Internal LAN IP address – 10.0.x.x, 172.16.x.x and 192.168.x.x
Types of TCP/IP communication – Stream and Datagram Transport Layer: TCP = Stream; UDP = Datagram Application bind to ports or channels on the transport layer. Reserved Ports – 0 – 1024 Max Port number – 2 16 = 65536
Well known reserved port – TCP /80 – HTTP/Web TCP/23 – Telnet TCP/21 – FTP UDP/226 – Windows File share TCP Applications – telnet, FTP, Web UDP Applications – VoIP, Video Streaming, Network File sharing
Typical Communication Client Computer initiates communications over a known port Server designates a free port to continue communications. Client continues communication on the new port. Client Computer and server continue conversation. Client or server computer close communication port to end communication.
HTTP Communication: TCP based protocol Default port: 80; Popular ports: 8000, 8080, 8090 Request/Response only.  Stateless in nature Client and Server may exchange or store information to maintain state and keep in sync. Session ID is a commonly used information. Secure Cousin – HTTPS – uses encryption
Section 2:
Early Days - Concept originated in mid 1980s with large proliferation of PCs at workplace Departmental servers become powerful enough to run multitasking OS such as UNIX, Netware OS. Single Tier Application – file sharing, applications shared the same server (e.g. Unix shells) or bring over a local copy to the network node (e.g. DOS executables)
Next Evolution – Two tier – Client/Server applications.  Divided the application logic and database services at the minimum. Typical Applications built on Visual BASIC, PowerBuilder, Oracle Forms Limitation – not very scalable or manageable. Limitation - Entire application built on single core language and platform.
First true industry standard for distributed computing – CORBA CORBA – Common Object Request Broker Architecture. Allowed developers to transcend language and platform. Example – a Java developer on Unix platform could utilize objects of a C++ class on Windows platform – REMOTELY!!!
Microsoft in early 1990s came out with its own specification for distributed objects called DCOM or Distributed Component Object Model based on their previous COM model Similar in concept and intent to CORBA, DCOM works only on Windows platform.
Local Application calls a Proxy Object Proxy Object calls connects to remote object container  Proxy Object may utilize the services of an object broker to locate the remote container Remote container instantiates the remote object and provides the communication channel
Some popular technologies today : Web Services – SOAP/REST (cross platform/most popular) Remote Method Invocation (RMI) and Java Message Service (J2EE environments) .NET Remoting (Windows Environment) Enterprise/Internet Service Bus Concept to keep in mind  N-tier architecture
Section 3:
Initially developed by Sun Microsystems to run on set top boxes. First public implementation – 1995 with promise of Write Once, Run Anywhere principle. First wave of programming capability was on Desktop and small downloadable programs on browser called – Applets.
By 1997, became the leading language to program on the internet browsers. Server side component – Servlet, in June 1997 were introduced to generate to publish dynamic content based on user input.  Soon there was push for more complex and functional server side components like – Java Server Pages, EJBs etc.
Java – WORA magic
Java 2 Standard Edition (J2SE) Targets Client Applications – Desktop, Browser Current version – Version 6.0 (7.0 in early beta) Java 2 Enterprise Edition (J2EE) Large scale enterprise applications  Current Version – 5.0  Java 2 Micro Edition (J2ME) Mobile and low powered devices Current Version – 3.0
Popular Tools and Solutions JDK/JVM  – Sun JVM, IBM, Apache Harmony IDEs  – Eclipse, NetBeans, JBuilder, WSAD J2EE Servers  - Apache Tomcat, Sun - Glassfish, IBM Websphere, BEA/Oracle Weblogic Related Concepts: Just in Time (JIT) Complier Garbage Collector
Prior to Microsoft .NET – Development on Windows Platform was very fragmented. Client Applications – Visual BASIC,  Visual C++ and MFC, Borland C++ and Delphi  with OWL System Applications –  Win32 API with Visual C++ and Borland C++ Enterprise Applications – DCOM/COM+, DDE Web Based Application – Active Server Pages, ISAPI (using C++ and COM/DCOM), ActiveX
Microsoft .NET was a opportunity to consolidate competing APIs on the Windows platform and respond to threat of Java in the enterprise arena. Promise – Code in ANY language but RUN on Microsoft .NET platform. Reason - Windows platform is the lifeline for Microsoft revenue.
Cornerstones of the .NET platform Common Type System (CTS) Common Language Runtime (CLR)  IL – Intermediary Language Common Type System – allows for unified representation of data expressed in different languages such that it been used across the .NET platform.
Microsoft .NET Development Stack
Microsoft .NET Framework Targets for client and server software Current Version 3.5 (Version 4.0 in CTP) Microsoft .NET Compact Framework (CF) Targets handheld and mobile devices Current Version 3.0 Microsoft .NET Micro Framework (MF) Targets low powered and embedded devices Latest release 3.0 in October 2008
Microsoft .NET platforms also runs on non- Windows platform. Result of Microsoft opening up the CTS and CLR specification to ISO for standardization and an Open Source effort called the MONO project.
Popular Tools: IDEs: Microsoft Visual Studio .NET 2008 (Free Express Editions available), MonoDevelop from Mono Project Servers: Microsoft IIS (on Windows), Apache with mono_mod module (on Linux, MacOS)
While J2EE and Microsoft .NET technologies compete in broad fronts, there are some other popular options on specific areas: Web based development – PHP, Ruby on Rails Client technologies including RIA – Python and Flex Mobile – Symbian (Nokia), Palm OS and Mac OS
Most of the competition is from open source product and contributors. Companies like Sun, Oracle and IBM has embraced open source a big way. Apache Software Foundation and MuleSource are two large non profit foundations hosts of open source projects.
Section 4:
Decision Choice of core Platform Ability to leverage the investment on existing infrastructure. Choices available for integration Choice of a framework Basic operations such as data access, data caching, logging, input validation and security Use of mix of third party components  to supplement framework based on requirements.
Decisions Budget – Cost of acquisition, training and maintenance Availability of skills  and resources Market Intelligence On going challenges Effort distribution Project Tracking and conflict resolution Co-ordination of activities across departments Communication of challenges and priorities Talent acquisition and skill upgradation
Making the right pitch Gaining fundamental understanding of the platform and framework feature Prepare a cost benefit analysis of using a specific technology – platform or framework. Factor in things like - time to market, stability of the end product and end user acceptance Determine alternatives, whenever possible.
Section 4:
No Industry standard definition.  It is a combination of trends and technology fuelling collaboration and communication across the globe leveraging the Internet. According to presenter – it is a realization that everything cannot be done by single entity or organization and expertise should be leveraged.
Typical application – Composite applications, SaaS, Social Networking Big players – MySpace, Facebook, LinkedIn, Tweeter, Trip Advisor. Discussion:  How active are you on Web 2.0? Do you have Facebook or LinkedIn profile?
Ability to run several virtual machines on single physical machine utilizing hardware simulation. Provides ability to maximize CPU and resource utilization on the physical box. Driven by Datacenter consolidation. Initial push was in Server consolidation. More recent driver – Green Computing and Desktop conslidation
Pioneer – VMWare (now part of EMC Corp) More recent entrants – Citrix, Microsoft, Oracle, Red Hat and Sun Microsystems. Side industry to manage virtual machines is also cropping up.  Discussion: Are you even aware that some of the servers you log on to remotely are virtual machines?
Like the fashion industry, things in IT come back a circle packaged in a new vibrant color and fabric. Cloud computing is primarily aiming to reduce IT infrastructure and maintenance cost. Business Model – Pay as you go/Pay for what you use. (Like the erstwhile mainframe area)
Pioneers – Amazon, Salesforce Most recent entrants – Microsoft, Rackspace Side Industry – manage and speed up cloud access. Majority companies are Startups. Discussion: Do you think will this model succeed?
Promise to access information anywhere Initial applications – e-mail and WAP based application designed for limited capabilities of a mobile device. J2ME allowed development of interactive applications on the phone Windows CE/Mobile (Microsoft), Brew (Qualcomm) and Symbian (Nokia) were dominant platforms till…
Apple iPhone came along in 2006 and it was game changer. Google Android followed in 2007-2008. Challenges – disconnected mode of operation and security. Major Players –Nokia, Qualcomm, Apple, Microsoft, Sun Microsystems , Google Discussion: How mobile savvy are you?
On the web: http://www.w3c.com http://msdn.microsoft.com http://java.sun.com http://wikipedia.com/ http://www.asp.net http://www.php.net http://www.apache.org http://mulesource.org
Feedback form will be available as online to be filled out
Follow up with Shashank at shashank@emjive.com| 678.439.5337

More Related Content

DOC
Dotnet ch1
PDF
Technologies prior to .Net
PDF
PPTX
Vb ch 2-introduction_to_.net
PPT
Effective Application Development with WebSphere Message Broker
PPT
Advanced Pattern Authoring with WebSphere Message Broker
DOCX
Resume
Dotnet ch1
Technologies prior to .Net
Vb ch 2-introduction_to_.net
Effective Application Development with WebSphere Message Broker
Advanced Pattern Authoring with WebSphere Message Broker
Resume

What's hot (19)

DOCX
Raju Tiwari-Resume-8+
PDF
R0701116121
DOC
MHa Resume Aug 27 2012
PDF
2001_BorlandTools-Borland Corporation Product Overview.pdf
PDF
Introduction To Android
PDF
PPT
Mobile Patterns with WebSphere Message Broker
PPTX
NexGen Software Inc
PPS
Asp.net new
PPTX
Session i
PDF
Adobe
DOCX
Resume -9 Yrs -Looking for New Opportunity !!
PDF
Application Development | Delphi Review 2009
PDF
Forum Nokia Dev. Camp - Biz Dev_ Paris 17&18 Nov Final
PPT
J2 me 1
PPT
Building Multi-Channel Data-Aware Applications
PPTX
Symbian OS
Raju Tiwari-Resume-8+
R0701116121
MHa Resume Aug 27 2012
2001_BorlandTools-Borland Corporation Product Overview.pdf
Introduction To Android
Mobile Patterns with WebSphere Message Broker
NexGen Software Inc
Asp.net new
Session i
Adobe
Resume -9 Yrs -Looking for New Opportunity !!
Application Development | Delphi Review 2009
Forum Nokia Dev. Camp - Biz Dev_ Paris 17&18 Nov Final
J2 me 1
Building Multi-Channel Data-Aware Applications
Symbian OS
Ad

Similar to Training - Managing .NET/J2EE Projects (20)

PDF
Android
PDF
Google Android Naver 1212
PDF
L01 Introduction to Enterprise Software
PPTX
IT TRENDS AND PERSPECTIVES 2016
PPT
Csphtp1 01
PDF
Learn .NET Core - Introduction
PPTX
Hönn2014 L01 Enterprise Applications
PDF
Built Cross-Platform Application with .NET Core Development.pdf
PPT
Visula C# Programming Lecture 1
PPS
dot NET Framework
PPT
Win net presentacion [2005]
PPT
Open Source in the Enterprise
PPTX
Latest trends in information technology
PPTX
Chapter1- Introduction to Computers and the Internet
PPTX
L01 Enterprise Application Architecture
PPTX
Academy PRO: .NET Core intro
PDF
Android complete basic Guide
PPT
Cs2305 nol
PPT
Android Anatomy
Android
Google Android Naver 1212
L01 Introduction to Enterprise Software
IT TRENDS AND PERSPECTIVES 2016
Csphtp1 01
Learn .NET Core - Introduction
Hönn2014 L01 Enterprise Applications
Built Cross-Platform Application with .NET Core Development.pdf
Visula C# Programming Lecture 1
dot NET Framework
Win net presentacion [2005]
Open Source in the Enterprise
Latest trends in information technology
Chapter1- Introduction to Computers and the Internet
L01 Enterprise Application Architecture
Academy PRO: .NET Core intro
Android complete basic Guide
Cs2305 nol
Android Anatomy
Ad

Training - Managing .NET/J2EE Projects

  • 2. Welcome and Introductions Computer Networking Basics Distributed Computing Fundamentals Platform Wars – Java, .NET and the 3 rd front You – the techie, manager and salesperson Technology Buzzwords
  • 3. Shashank Banerjea President and Founder of Emjive Consulting LLC. Working on various technologies including Java and Microsoft .NET on Windows and Linux platforms since 1999. Masters degree in Computer Applications from Devi Ahliya University, Indore, Madhya Pradesh (INDIA) Wrote my first piece of useful code in 1983 using BASIC on a 8-bit Atari computer.
  • 4. Ask questions or comment at any time. Fact: I do NOT know everything and can and probably will make things up!!!! Feel free to share your experience. Take notes to check later if you know things differently.
  • 6. De-facto Standard of Computer to Computer Communication – TCP/IP. Reason for the rise – dot com boom of the 1990s. Replaced many proprietary protocols such as IPX/SPX (Novell), NetBIOS (Microsoft), Banyan Vines etc on LAN.
  • 7. Relevance: Foundation of all new applications – enterprise or consumer. No major application today can afford to exist in a silo. Higher level application protocols depend upon TCP/IP stack to exchange information including Web (HTTP), Mail (SMTP, IMAP) and Instant Messaging (XMPP)
  • 8. IPv4 Addressing – 32 bit address. Presented in canonical form as xxx.xxx.xxx.xxx, where xxx: 0-255. 2 32 = about 4 billion computers on the Internet. Classes of IP Addresses – A, B and C based on network size. D and E (Special Purpose) Internal LAN IP address – 10.0.x.x, 172.16.x.x and 192.168.x.x
  • 9. Types of TCP/IP communication – Stream and Datagram Transport Layer: TCP = Stream; UDP = Datagram Application bind to ports or channels on the transport layer. Reserved Ports – 0 – 1024 Max Port number – 2 16 = 65536
  • 10. Well known reserved port – TCP /80 – HTTP/Web TCP/23 – Telnet TCP/21 – FTP UDP/226 – Windows File share TCP Applications – telnet, FTP, Web UDP Applications – VoIP, Video Streaming, Network File sharing
  • 11. Typical Communication Client Computer initiates communications over a known port Server designates a free port to continue communications. Client continues communication on the new port. Client Computer and server continue conversation. Client or server computer close communication port to end communication.
  • 12. HTTP Communication: TCP based protocol Default port: 80; Popular ports: 8000, 8080, 8090 Request/Response only. Stateless in nature Client and Server may exchange or store information to maintain state and keep in sync. Session ID is a commonly used information. Secure Cousin – HTTPS – uses encryption
  • 14. Early Days - Concept originated in mid 1980s with large proliferation of PCs at workplace Departmental servers become powerful enough to run multitasking OS such as UNIX, Netware OS. Single Tier Application – file sharing, applications shared the same server (e.g. Unix shells) or bring over a local copy to the network node (e.g. DOS executables)
  • 15. Next Evolution – Two tier – Client/Server applications. Divided the application logic and database services at the minimum. Typical Applications built on Visual BASIC, PowerBuilder, Oracle Forms Limitation – not very scalable or manageable. Limitation - Entire application built on single core language and platform.
  • 16. First true industry standard for distributed computing – CORBA CORBA – Common Object Request Broker Architecture. Allowed developers to transcend language and platform. Example – a Java developer on Unix platform could utilize objects of a C++ class on Windows platform – REMOTELY!!!
  • 17. Microsoft in early 1990s came out with its own specification for distributed objects called DCOM or Distributed Component Object Model based on their previous COM model Similar in concept and intent to CORBA, DCOM works only on Windows platform.
  • 18. Local Application calls a Proxy Object Proxy Object calls connects to remote object container Proxy Object may utilize the services of an object broker to locate the remote container Remote container instantiates the remote object and provides the communication channel
  • 19. Some popular technologies today : Web Services – SOAP/REST (cross platform/most popular) Remote Method Invocation (RMI) and Java Message Service (J2EE environments) .NET Remoting (Windows Environment) Enterprise/Internet Service Bus Concept to keep in mind N-tier architecture
  • 21. Initially developed by Sun Microsystems to run on set top boxes. First public implementation – 1995 with promise of Write Once, Run Anywhere principle. First wave of programming capability was on Desktop and small downloadable programs on browser called – Applets.
  • 22. By 1997, became the leading language to program on the internet browsers. Server side component – Servlet, in June 1997 were introduced to generate to publish dynamic content based on user input. Soon there was push for more complex and functional server side components like – Java Server Pages, EJBs etc.
  • 23. Java – WORA magic
  • 24. Java 2 Standard Edition (J2SE) Targets Client Applications – Desktop, Browser Current version – Version 6.0 (7.0 in early beta) Java 2 Enterprise Edition (J2EE) Large scale enterprise applications Current Version – 5.0 Java 2 Micro Edition (J2ME) Mobile and low powered devices Current Version – 3.0
  • 25. Popular Tools and Solutions JDK/JVM – Sun JVM, IBM, Apache Harmony IDEs – Eclipse, NetBeans, JBuilder, WSAD J2EE Servers - Apache Tomcat, Sun - Glassfish, IBM Websphere, BEA/Oracle Weblogic Related Concepts: Just in Time (JIT) Complier Garbage Collector
  • 26. Prior to Microsoft .NET – Development on Windows Platform was very fragmented. Client Applications – Visual BASIC, Visual C++ and MFC, Borland C++ and Delphi with OWL System Applications – Win32 API with Visual C++ and Borland C++ Enterprise Applications – DCOM/COM+, DDE Web Based Application – Active Server Pages, ISAPI (using C++ and COM/DCOM), ActiveX
  • 27. Microsoft .NET was a opportunity to consolidate competing APIs on the Windows platform and respond to threat of Java in the enterprise arena. Promise – Code in ANY language but RUN on Microsoft .NET platform. Reason - Windows platform is the lifeline for Microsoft revenue.
  • 28. Cornerstones of the .NET platform Common Type System (CTS) Common Language Runtime (CLR) IL – Intermediary Language Common Type System – allows for unified representation of data expressed in different languages such that it been used across the .NET platform.
  • 30. Microsoft .NET Framework Targets for client and server software Current Version 3.5 (Version 4.0 in CTP) Microsoft .NET Compact Framework (CF) Targets handheld and mobile devices Current Version 3.0 Microsoft .NET Micro Framework (MF) Targets low powered and embedded devices Latest release 3.0 in October 2008
  • 31. Microsoft .NET platforms also runs on non- Windows platform. Result of Microsoft opening up the CTS and CLR specification to ISO for standardization and an Open Source effort called the MONO project.
  • 32. Popular Tools: IDEs: Microsoft Visual Studio .NET 2008 (Free Express Editions available), MonoDevelop from Mono Project Servers: Microsoft IIS (on Windows), Apache with mono_mod module (on Linux, MacOS)
  • 33. While J2EE and Microsoft .NET technologies compete in broad fronts, there are some other popular options on specific areas: Web based development – PHP, Ruby on Rails Client technologies including RIA – Python and Flex Mobile – Symbian (Nokia), Palm OS and Mac OS
  • 34. Most of the competition is from open source product and contributors. Companies like Sun, Oracle and IBM has embraced open source a big way. Apache Software Foundation and MuleSource are two large non profit foundations hosts of open source projects.
  • 36. Decision Choice of core Platform Ability to leverage the investment on existing infrastructure. Choices available for integration Choice of a framework Basic operations such as data access, data caching, logging, input validation and security Use of mix of third party components to supplement framework based on requirements.
  • 37. Decisions Budget – Cost of acquisition, training and maintenance Availability of skills and resources Market Intelligence On going challenges Effort distribution Project Tracking and conflict resolution Co-ordination of activities across departments Communication of challenges and priorities Talent acquisition and skill upgradation
  • 38. Making the right pitch Gaining fundamental understanding of the platform and framework feature Prepare a cost benefit analysis of using a specific technology – platform or framework. Factor in things like - time to market, stability of the end product and end user acceptance Determine alternatives, whenever possible.
  • 40. No Industry standard definition. It is a combination of trends and technology fuelling collaboration and communication across the globe leveraging the Internet. According to presenter – it is a realization that everything cannot be done by single entity or organization and expertise should be leveraged.
  • 41. Typical application – Composite applications, SaaS, Social Networking Big players – MySpace, Facebook, LinkedIn, Tweeter, Trip Advisor. Discussion: How active are you on Web 2.0? Do you have Facebook or LinkedIn profile?
  • 42. Ability to run several virtual machines on single physical machine utilizing hardware simulation. Provides ability to maximize CPU and resource utilization on the physical box. Driven by Datacenter consolidation. Initial push was in Server consolidation. More recent driver – Green Computing and Desktop conslidation
  • 43. Pioneer – VMWare (now part of EMC Corp) More recent entrants – Citrix, Microsoft, Oracle, Red Hat and Sun Microsystems. Side industry to manage virtual machines is also cropping up. Discussion: Are you even aware that some of the servers you log on to remotely are virtual machines?
  • 44. Like the fashion industry, things in IT come back a circle packaged in a new vibrant color and fabric. Cloud computing is primarily aiming to reduce IT infrastructure and maintenance cost. Business Model – Pay as you go/Pay for what you use. (Like the erstwhile mainframe area)
  • 45. Pioneers – Amazon, Salesforce Most recent entrants – Microsoft, Rackspace Side Industry – manage and speed up cloud access. Majority companies are Startups. Discussion: Do you think will this model succeed?
  • 46. Promise to access information anywhere Initial applications – e-mail and WAP based application designed for limited capabilities of a mobile device. J2ME allowed development of interactive applications on the phone Windows CE/Mobile (Microsoft), Brew (Qualcomm) and Symbian (Nokia) were dominant platforms till…
  • 47. Apple iPhone came along in 2006 and it was game changer. Google Android followed in 2007-2008. Challenges – disconnected mode of operation and security. Major Players –Nokia, Qualcomm, Apple, Microsoft, Sun Microsystems , Google Discussion: How mobile savvy are you?
  • 48. On the web: http://www.w3c.com http://msdn.microsoft.com http://java.sun.com http://wikipedia.com/ http://www.asp.net http://www.php.net http://www.apache.org http://mulesource.org
  • 49. Feedback form will be available as online to be filled out
  • 50. Follow up with Shashank at [email protected]| 678.439.5337