Then I thought the question I was asking is a bit more than object space hence the new thread. So guys (MS) how long before we have some of the functionality in .NET those Java App servers have (actually not similar implementation
as I don’t agree with the way the App servers have been implemented). Also a few additional features like being able to build scalable distributed apps that can run in n-tier configuration without having to build all the infrastructure required. Support for
Integration framework using Messaging be it XML or what ever format. Also will we be ever getting an Application server with support for some thing similar to Java Naming Service and so on.
At PDC I noticed that you had done a lot of work on Indigo which I loved and was upset as I wanted them now. Which brings me to my second question why is there such a tight coupling between OS and .NET framework. OS is there to provide a hardware abstraction
and all the base services one would need to write software. Then on top you would need something like .NET which can abstract the OS differences to make our life easier. Keeping to that tune one would imagine all the Indigo stuff can be taken out and sold
as a separate application server product which can run on any OS (I mean MS OS 2000, 2003). So why not do that and build an application server with all the indigo capability and ship it in next few weeks I really don’t want to wait next 3 years for Longhorn
to ship and be RTM'ed. By de-coupling .NET from the OS into an APP server implementation will ease the life of a lot of Enterprise Developers who don’t have to convince the Network Guys to change the OS just so we can use some nice features...you don’t know
how hard that is.
I really want to hear something new from MS. after long conversations and E-mails with MS stuff both in PDC and MVP summit I get the impression that their notion of Enterprise Application rant mine or yours. While marketing people still listen,
MS developers just try to convince you that what they done are sufficient.
As I post in object spaces thread, if we won't implement enterprise needs as open source we probably don't have any implementation. Even in the java world, most of the enterprise solutions are open source solutions. Microsoft marketing target isn't Enterprises
therefore their effort are tunneled to more wizards and UI features and not to enterprises needs. In the end of the day behind the product you will find peoples and the product is mirror of it developers vision.
I just posted a long response on the other thread before realizing the discussion was spawned here under a new thread title, so here's a link for reference:
Since I'm posting again anyway, I'll add a few more comments along different lines. It's certainly true that Microsoft spends a lot of attention and money targeting people and needs other then enterprise business applications (home users, hobbyists, students,
gamers, corporate desktops, etc), but they do put a good share of thinking and investment in enterprise business applications as well. How much depends on which part of the large company.
Microsoft definitely puts a high degree of importance on making their products easy to use, it's a pretty core part of the company culture, so I'm not surprised that sometimes it seems they are too obsessed with their "wizards and UI features". But it's
a double edged sword, I'm not sure I'd want them less obsessed with it either.
I mention this in my other post, but I'll add it here as well. You might be interested in checking out
http://www.microsoft.com/practices since it is the homepage of the group focused on trying to provide guidance on creating enterprise business systems using the Microsoft platform.
Jonathan, Thanks for your post. I am an avid reader of PAG and the Architecture Journal and must say they are very good initiative and have certainly helped developers mindset expands beyond using tools to the domain of design and you guys are doing a great work. First
let me explain where I am coming from. I work for an ISV and we build enterprise apps that sit in the background doing b2b e-comm . So in that respect 90% of our code is server side and 10% GUI. Within our organisation we use everything from Oracle Forms,
Clipper, Delphi, VB and .NET.
Firstly .NET is a great platform, Bill Gates may wax and wane about clear type but I think .NET is the best innovation from Microsoft J. A project like Mono when they imitate .NET just goes to show how good .NET is, as they say “imitation the best form of
flattery”. From your response I understand most of the things I was asking for bar a few are already available from MS, in the form of COM+, BizTalk and so on. From a developers perspective all these offering are very fragmented and don’t really offer a cohesive
unified approach. Enterprise developers are under pressure to deliver a lot in short time frame. A good enterprise application used to take 10 years to write and now is being done in 3. Thanks in part to RAD tools and other code gen advancements. Microsoft
has done a great deal in this arena and now just needs to do a bit more. My arguments about enterprise development are two fold.
1. De coupling of APP server from the OS.
2. Better awareness for challenges faced by enterprise developers while using .NET.
App Server: An ISV when developing software would like to target the broadest audience possible with minimum code change. With applications like COM+, MSMQ and IIS all tied to an OS the ISV/Enterprise Developer is forced to choose the least common denominator
of all when developing applications. Looks at all the productive features in Indigo it would be some time before there is a widespread deployment of Longhorn and developers can target that platform. By offering all the futures tied to one OS worked well for
MS in the desktop space and we all know the desktop wars were fought and won. The server side space in my opinion is a bit different, if you look beyond mail server and file servers. All other vendors like IBM, Sun and BEA to some respect offer an OS agnostic
version of APP Server, except Microsoft. The enterprise developers would like to use the tools to get a job done based on the requirements and not based on the OS that is currently deployed in the data centre. The only way this would be possible is to offer
an APP server which will host all the functionality in an OS independent container. This argument can be extended further to say when some one buys a File Server why do they need to pay for an APP server (i.e. IIS, MSMQ,…) that won’t get used. Why not have
a pluggable architecture a bit like the Lego set of applications. If all one needs is a super fast file server then just get that and as needs grow add on more modules. This has worked well for other organisations not to mention the consulting dollars for
MCS J. I do understand if all Microsoft is interested in is selling OS licence then what you are doing is just fine. But if you are really interested in the server side space and the enterprise developer mindshare then more needs to be done.
Better support for Enterprise Developers: Traditionally Microsoft has helped developer’s stich its products together to offer a solution. This is fine for an end user application but does not bode well in Enterprise Integration Applications. When one looks
all the topics covered in Tech Ed and other MS events they are targeted towards these sort of market i.e. How to integrate Office 2003 with Visual Studio .NET and so on. There is a need and a place for such efforts. How often do we have talks about building
scalable distributed applications that can do 100-200 transactions per second and the challenges involved. How often do MS employees talk about the architecture of MSN, Hotmail or MSNBC and the challenges faced in building such systems. Also what lessons can
be learnt from these that will help people developing smaller systems, also how would one go about doing the same using .NET.
During the PDC I sat through the Service Oriented Architecture and heard people talking about distributed systems from a tool vendors point of view little was discussed in terms of impact of changing business rules on a system and so on ( i.e. there is too
much focus on code and less on more abstract things like business rules). Simple things like difficulty in implementing Model 2 controller or MVC in ASP.Net show that the features in ASP.Net were more targeted toward the small application developer rather
than the Enterprise Market. In Visual Studio .NET Enterprise there is a very basic XML editor whiles the bulk of the work done by Enterprise developers revolve around XML Schemas and writing custom WSDL’s. It would have been nice if in VS.NET there was something
like XML Spy for working with XML. Most of us get the contract for web services before we develop the web service yet VS.NET insist in using the opposite approach.
That is all for today any more I would end up writing a book…it is time for me to go back to my application. At the end of all this I am not expecting for you tell me that all this will be done by next week or something. I just wanted to plant a thought,
“maybe a rethink is required” and one day that thought may grow to become a concrete project.
What did you think of the suggestion by dsuspense regarding something like the Spring.NET framework? Not so much on Spring.NET specifically, but on the idea of an enterprise application framework solving these problems instead of, or in addition to, something
like a .NET Application Server? Viable answer? Totally different? No difference? I've got some thoughts on it, but was curious on others reaction first.
Touching on point 2, so far in this thread (and the prior one) I've heard PDC, TechEd, and the MVP Summit all mentioned as not really hitting the interests of professional enterprise application developers. I think my earlier comment relates to this in that
some groups in Microsoft are more focused, and some less, on the interests of enterprise application developers. The enterprise application segment of developers in terms of numbers are actually not the majority of MS developers, so when you go to events
like PDC that are intended for all MS developers, this becomes pretty noticable. So you do find some stuff that is interesting to an enterprise application developer, but also a lot of it is for other developer segments. Things like MSDN struggle with the
same problem since they are focused on the entire MS developer market, again that includes a lot of different developer segments, so it can sometimes be tough to find the applicable and interesting stuff for you. Unfortunately I realize that answer may be
insightful but isn't necessarily helpful. I know that the PAG/patterns&practices team has a summit that is focused on enterprise application developers, so you might be interested in looking at that, but it's not a very big event. I'm not sure of any other
Generally though your comments and specific ideas are really good ones.
Just my point of view: .Net Application server: Definitely Yes! I start to look at JBOSS. I think that we should migrate it to .Net. Migrate and not convert because we can use .NET (attributes, codedom/emit, generics, generic aware reflection and app domain) to create more faster
and robust solution then JBOSS. But I think that JBOSS is good starting point, eventually several PhD's came out from that project and jboss already prove himself.
I don't think that Microsoft should do it alone. I think that MS with .Net community should do this immigration as open source initiative so both Microsoft and the community can gain benefits.
I don't think that Microsoft doesn't try to get a position in enterprise development. MS try to do it by investing in community, developers and so to penetrate enterprises from low level. Well, that might work (I'm not marketing genius ) but without competitive
tools to other vendors in the market I really don't see MS as leading force in enterprise development.
Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums, or Contact Us and let us know.