Web Service Software Factory: Modeling Edition Roadmap
In much the same way the Service Factory targets two types of developers, the Service Factory can evolve along two different axes:
- Additional guidance and capabilities for Web service developers
- The target development platform (Visual Studio) and factory platform capabilities
Future Guidance for Building Services
Future guidance about building services can be divided into product guidance and capability guidance. Future product guidance includes topics about how to use the following products to address specific challenges:
- BizTalk Server
- Windows Workflow Foundation (WF)
- Window Communication Foundation (WCF)
- Newer products like Popfly™ and Microsoft code name “Astoria”
Future capability guidance topics for services include:
- Building services based on REST and RSS
- Leveraging the use of metadata repositories and registries
- Composing services and implementing service interaction patterns
- Instrumenting services for monitoring, and compliance with Service Level Agreements (SLAs)
All of these topics are in the patterns & practices backlog, and we are analyzing, estimating and prioritizing them. However, the initial guidance on these topics will not be released the form of a software factory. Expressing guidance in the form of a software factory is neither easy nor inexpensive. Therefore, we plan to publish smaller, more focused guidance deliverables, and, based on the community feedback, make a decision to later integrate specific guidance topics into this or another factory. Please continue to monitor this page to stay abreast of the progress on these topics.
We are planning a small revision to address feedback you've provided since we last released in February. This is the short list and we'll elaborate more on these items when we get closer to doing the work late in the calendar year or early in 2009.
- Import WSDL: This is the ability to auto-generate model elements from an existing WSDL document. This is currently published as an add-on on the Service Factory Contrib project and will be rolled in to the next official release.
- Policy Properties: Think about this as a lightweight extensibility mechanism. We proved this out during the last development release, but it caused the test matrix to become too large to release it. You will likely be able to get your hands on this feature before we actually start development on the next rev. This is easily my favorite feature ... very cool stuff!
- Repository Import/Export: The idea is this feature will make migrations to Oslo much easier by giving you the ability to store your service metadata in a repository today with the idea that migrating service metatdata from one repository to another (like Oslo's) is easier than migrating service implementations, but we'll see. We still need to do a LOT of coordination with Microsoft's Connected Systems Division before we can move forward with this approach.
- VB.NET Code Gen: This feature is also available today from the Service Factory Contrib project with plans to roll it into the next official version.
- Remove orphan code: Today when you generate code, remove model elements, and then re-gen the code, it will not remove the code associated with the removed model elements - causing orphaned code. We knew we shipped with this, and still don't think it's that big of a deal, but we'll have the oppty to fix it in the next rev. Think: Clean Build.
- Auto Code Gen: When you have a lot of models and you're ready to generate all of the code for the solution, the right-click -> Gen code gesture can get pretty tidious, pretty quick. It would be nice if we had a build task that cleaned, gen'd, and built, the whole solution in a single gesture.
- Continuous Integration: We used a CI server during the development of the Service Factory. We've heard it would be nice if we could share that will those of you who are customizing/extending/modifying the factory for your own needs. We'll see what we can do.
- There are plenty of other things we could potentially do also. Expect that we'll be reaching out to you for help in prioritizing this this list of work when we get closer to getting started.
I would continue to encourage you to use the voting feature in the issue tracker, and help other community members in the discussion area. If you build any extensions or anything that others in this community would find helpful, and you're willing to share, please share them with the Service Factory Contrib project
so others can benefit from your great work.