I made it to the Developer Expo this past Friday ( I took the day off work – burned a VACATION DAY for it, but it turned out to be worthwhile )
Kirk Evans gave us a preview of the new Visual Studio Team Services as part of the keynote. I’ve actually heard about this stuff before, so I’ll just link you to more information about it rather than going into detail in this entry: VSTS
Structured a lot like Code Camp, there were three tracks with five total breakout sessions. I’ll tell you about the ones I went to.
Service Orientation per Kirk Allen Evans:
Connected Systems are not all about communications – it’s about bringing your applications to new life. It’s about “increasing revenue and reducing costs” – Kirk’s most repeated quote. The list of advantages to connected systems and the challenges look like the same list; info worker productivity, business agility, value chain integration, end to end security and trust, seamless access to information. Basically, with connected systems, once you figure out how to get past the challenges, they become advantages in making your enterprise more adaptable and faster than your competition.
The problem with connected systems – getting data from point A to B to C with context.
Attempts thus far.
-
REST: representational state transfer – recently hyped as web services by Yahoo, Amazon, and others. REST = POX (plain old XML) bound to HTTP. REST sounds like SOAP without the envelope – deliver an XML packet and use HTTP verbs to decide what to do with the XML.
- EAI – application integration through a central system. High licensing cost, complexity, vendor lock in , scalability (single point of failure)
- ESB – Enterprise Services Bus – many interconnected central points. Architecture or SKU(product). Programming model silos, slow to adopt WS-*. MS answers with BizTalk and CSF (Common Services Framework) today, BizTalk and Indigo in the future.
SOA – another step on the path to the solution. SOA is yet another attempt at effective distributed programming (DCOM). DCOM was too tightly coupled (you had to share types, languages, and ports) to work well. SOA decouples and only cares about the contract (how to format) and the message (the payload). We’re driving to connected systems (HST architecture). To do that, use the WS-* architecture. The messaging is based on SOAP b/c everyone can speak it. Security, Reliable Messaging, and Transactions are provided by WS-* extensions. BizTalk is an implementation of the WS-* specs. Indigo is a better implementation of the WS-* specs. It allows for secure, reliable, transactioned messages in three lines of code (as opposed to 27000 lines of code required with WSE 2.0 or 56000 lines of code prior to WSE). XMLSchema is the canonical schema – the authoritative, common definition. The schema doesn’t change. XML Schema is not actually a single schema – it’s a big bucket of lots of different schemas. Use the schema to fix the contracts surrounding the use of web services.
FYI – I really had a blast watching Kirk present – he’s a natural, standing up in front of the group trying to restrain himself from craziness like flicking everyone off as he gets wrapped into his own stories. He’s a great presenter – the best I saw all day.
Richard Weeks from Avanade presents the Enterprise Library:
The Enterprise Library wraps several of the PAP application blocks (Data, Config, Crypto, Security, Exception, Logging, etc). The goal of the enterprise library is to simplify the use of these blocks. For example, the extremely slick Configuration tool (add to the Tools menu by customizing the menu) will create all the XML in the App.config file based on a user friendly GUI as opposed to writing the XML on hand. The Database block allows you to connect to a DB, execute a stored proc, and bind the results to a grid in three lines of code. The logging component makes logging so easy it’s almost hard to believe. One line of code – Logger.Write(“text here”) – that’s it! Based on the config, we were logging to two places at the same time with independently configurable levels of detail. The exception component allows “exception policies” to be defined and log, wrapping an exception with another exception, replacing an exception with another, or create your own action. The exception policy tool was really sweet – complete with a list of potential exceptions (reflection, anyone?) you can select from. Dan and I both enjoyed this presentation – it looks like something really useful.
Kevin Heldt from Internosis Inc walked us through the development platform for SharePoint:
We looked at the Sharepoint Object Model and how to program against it. The first two demos were us creating an entire portal site and then adding documents to that site through a separate Admin tool we created in code. Next we looked at Web Parts and how web parts can be used to provide ASCX type functionality within SharePoint, including creating a Provider – Consumer model to create a data binding relationship between different SharePoint webpart components. Finally we looked at the process to deploy a SharePoint Web Part to a SharePoint site.
Scott Bounds from the Microsoft Communications Sector presented Microsoft Identity and Access Management:
How do you handle all the different logons required for all the different applications, both internal and external to an individual organization? In the past, everything was separate, today we try to integrate and pass security around, in the future we are heading towards federated systems. The MS core foundation for authentication is Active Directory, a central focal point for network and user management. AD Application Mode (AD/AM) for LDAP is for local app data. AD/AM is basically Active Directory but with only LDAP and replication, none of the other authentication stuff AD supports (like the SAM and Kerberos). It runs as a non-OS service. Addins like the Microsoft Identity Integration Server 2003 (MIIS) tie lots of different 3rd party applications like SAP, Sun One and other stuff (non-MS stuff) for user synchronization and provisioning. The goal, as Win2k3 heads towards Service Pack 1, is to reduce the cost of password maintenance. Plus, you can do mapping between identities so you can expose user credentials to extranets and external users. This allows separate companies to authenticate each others users across trusted relationships.
Leslie Sistla from Microsoft gave the presentation on SQL Server 2005:
SQL Server 2005 comes with some new Enterprise Data Management features such as a new isolation level, database snapshots, database mirroring for high availability. Also Developer productivity and business intelligence features. Developers get the ability to integrate with Visual Studio and can use multiple languages. You can write T-SQL for data intensive function and .Net languages for CPU intensive functions and you can seamlessly step cross-language.. You also get a new XML data type. Recursive queries and try/catch exception handling are now supported in SQL Server 2005. SQL2k5 fits into the SOA model by providing direct web service access to SQL Server. Query Notifications enable responsive multi-tier caches. Service Brokers work with distributed messaging and queues. In Reporting Services 2005, the Business Intelligence Management Studio (separate from the Management Studio) will be able to design reports without Visual Studio. Coming in 2005 with SQL Server Visual Studio 2005 is a Local Mode where you can run reports without requiring an IIS server. The expected introduction of SQL 2005 brings with it some significant ADO.Net enhancements. I’ll blog more about that stuff later.
There was a lot of good information packed into these sessions. I’d have loved to make it to 3 or 4 of the discussions I couldn’t attend. At some point the content will be placed online. I’ll post links to it when I get it.
— Matt Ranlett
posted with BlogJet