Sinister
Eating and Sleepin
aisnob.com
Box Office Movies,
Pick A Tribemate
Something Cruel Is
Thunder Storms & S
You Call, We'll Ha
Million Dollar Que
Bag of Tricks

Collections and Me
You Get What You G
Question of Trust
A nice fantasy wit
aipein.com
Truth Kamikaze
Let's Get Rid of t
It's Like the Perf
artfib.com
Another argument a
You Mangled My Nets And in the future, the name may be changed to "The Mangled Mesh Web." But I digress. This is more or less a quick overview of how we got to the first point where a client-side application will be able to pull arbitrary data over the HTTP and present it in browser window. It all started a few years ago when I was in grad school. I knew there had to be a better way for people to build applications that needed to be secure and provide some level of interaction to the user, and at the time Java servlets were looking like the way to do this. But I didn't like the idea of having a full JVM running a servlet per request. I had done a bit of research and found that Apache Ant had this cool "mini web server" feature where I could run Java code directly in the same JVM as my main application and then use that for everything. So that's what I did, and was able to create some dynamic websites in a few days that I was working on for my class. And at the same time I started studying the Apache web server (which had some pretty nice performance improvements at the time), I saw it running on port 80 (which was odd), and I immediately thought, "What if there was a web server written in Java (so that I wouldn't have to leave my favorite language for a web server)." I had a whole web application server with JSP and Servlets already built in (the servlets were really just simple JSP's written in Java, but that's a different story). So that's what I did. I had to reconfigure my servlet class a bit to load from files (I had been using a local embedded Jetty for development, which is fine until you have to use it on your computer). But once it was working, I could do normal Java development with all of the Java libraries already in the CLASSPATH. And that's what I did. When my development platform on Windows XP broke down, I had the source code already built and I could fix it on the next windows machine that I needed to use. It was a huge improvement. But of course, the next step was to move this code into a production environment. Well, moving it into IIS meant I was going to have to learn Visual Basic Script or Cold Fusion (which would probably have been just as bad as C#/C++ at the time since I had been using C# for my real work). But then we found out that there was this .NET framework that was really great for building web applications. It worked really well with what I was doing in Java, so I went with that. At the time, the .NET Framework included support for COM objects (the COM support is what made using COM objects in Java possible), and they created a COM object for HTTP requests. So after setting up a couple of files for setting up my HTTP requests in my applications, I could have a nice web server running just as before in Java. I had the convenience of being able to use all the same APIs and frameworks for handling network requests, plus it's all Java, so it was fun to have that consistency. I could start a new project in Visual Studio and I was ready to work on it as soon as I logged in. But this really isn't the point of this post. I have a lot of stories about migrating to this technology and building up this framework. I really want to make this technology successful, so I really want people to get the best quality products out of me, so I can put my name on them. And that's the point of this post: that I want to make this easy for everyone, and it just isn't right now. And it isn't easy. Let me describe to you how you should do this: Start in a Java-based framework. Develop your application in Java. After a few days of development, move to the same framework in .NET, but for an HTTP server and HTTP requests. Now we're really starting from the same place. I can make the changes really quick and if you can program in Java, you can develop for this. After you've built your .NET application, now you can use a Java client to connect to your .NET server. Here you can use your Java-based framework to develop clients, but you can't forget to make your client side libraries available to users with the .NET Framework. It's a real hassle to have to tell users to install a special version of the framework just to use your software. Don't forget that this is a big part of your market and you need to make this easy. And now we come to the next important step: when you have more and more users using this software in other languages, let them create their own applications and let their users connect to the server. By now you've built a framework and a tool chain (your Java framework and the .NET framework). Give the end users the tools to create their own applications and make sure they can connect to this server. Don't give them different methods to do it: that's a terrible way to manage your software, and it means if you're really successful, users of your software won't be able to be as creative as they need to be to really make this framework successful. So that's the point of all this. I want to build a framework for you that makes it easy for you to create cross-platform client applications. Allowing you to create your business so you can spend more time with your customers and build something great. I know it's a lot of work, but it's worth it, and you will win in the end. I'm looking forward to creating another tool in the Java world that lets people build this sort of application so I can keep improving my framework. Thank you very much for letting me take your time. I hope you enjoyed this post. If you did, I encourage you to click the little Share button so your friends can see this, too! :) 6 comments: That's a good idea to port Java libraries to other platforms. I'm not sure if it would be too hard since I guess people could just use JAR files? I wonder how hard would it be to port them to JavaScript. What do you think? That would make development a bit easier...maybe. :O I know this post is old, but i have an issue.I do NOT have a "C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files" folder. I want to connect to a .NET site using VB but it won't work without this folder, is there a way I can fix this?Thanks for any help, this post helped me fix an issue with my server, and I would appreciate any info you have for me. I really need help with this. So, thank you again Hi, thank you so much for this, it's a great site and an inspiration to me. But could you please check that the URL is really correct. The site's a bit slow right now (it's a college student site) but I'm in the process of rewriting all of it (the URL's you gave are the links for the new site). This post is about 7 years old.