Weblogs
SOA Projections, Common Data Models, and eventually Surface Oriented Data Architectures: Where i work there are upwards of 500 applications. In proportionate numbers are databases to support them. Services are the answer. A common API is the answer. Probably true. So I define a handful services. Some are queries and some are updates changing the state. Each service will take objects or structures as inputs and emit an object or collections of objects as output or none. Although each service is independent and stateless, the outputs of these services are corelated and taken together presents a well defined object model. ... Read more in the detail to see how this might lead to surface oriented data architectures. More importantly see how SOA can be bolstered by some technologies in data management. Posted by satyak on July 03, 2008 at 08:47 PST | Permalink
| Discuss (0)
It serves well to remember what inspires: This is what Ivan Sutherland wrote: "I, for one, am and will always remain a practicing technologist. When denied my minimum daily adult dose of technology, I get grouchy. I believe that technology is fun, especially when computers are involved, a sort of grand game or puzzle with ever so neat parts to fit together. I have turned down several lucrative administrative jobs because they would deny me that fun. If the technology you do isn’t fun for you, you may wish to seek other employment. Without the fun, none of us would go on."
Posted by satyak on June 28, 2008 at 11:36 PST | Permalink
| Discuss (0)
A False ceiling: What is behind that blanket of SOA?: It is not an uncommon argument in IT, where the thought is to hide everything behind a bus of SOA. Couple that with the hype where once upon a time CORBA solved all problems and then EJBs solved all problems. Now SOA is on the lips of many that probably have never written a line of code. It is difficult to argue with someone who is not a goldsmith that what is glittering is not necessarily gold. Posted by satyak on June 28, 2008 at 11:06 PST | Permalink
| Discuss (0)
Objects, XML, Databases: A Synergistic triangle of the Programming Circle: Three technologies, (Objects, XML, Databases) that have evolved independently seem to be flowing toward a synergistic union. An Object is about behavior. An XML is about structure. A Database is about collections. A Program is like a golden braid that weaves through these aspects.
Posted by satyak on May 02, 2008 at 07:56 PST | Permalink
| Discuss (0)
Need you help. What is a good approach for accessing java interfaces remotely and in a transparent fashion?: What is a good approach for accessing java interfaces remotely? The answer seems too obvious. Use EJB session beans, or web services or RMI. is that the best way? Could I not use dynamic proxies and not use any client side or serverside skeletons and stubs? Can I not do this by not generating any thing? Would some one recommend WSIF to do this? What else is out there? Posted by satyak on January 15, 2007 at 10:55 PST | Permalink
| Discuss (5)
Reflections on the importance of HTML prototyping for IT: HTML prototypes can play a much more significant role in IT. They can aid faster development times. They can secure budgets. They can encourage good architecture. They can directly lead to a number of development artifacts such as data models, and business services. I think prototypes offer another important aspect to the modern development process along with the Extreme Programming and RUP.
Posted by satyak on August 11, 2006 at 18:59 PST | Permalink
| Discuss (4)
Vagaries, vicissitudes, and occasional pleasures of submiting a form: Do you know that a web form can be submitted with an "enter" with out a submit button? Do you know that a web form is speced out to be different when it has only one text field and when it has more than one text field? Although you may have done it a lot, do you recall all the time that "textarea" is not an "input" type like the "text" field. Do you know that you can use a javascript function as a form submit for profit? I have found these and a few others when I looked back on form design. Rest of thsi log entry talks about essentials and less exploited features of web forms for every day usage. Posted by satyak on June 19, 2006 at 08:12 PST | Permalink
| Discuss (0)
Rewriting SendRedirect to deal with SSL (or https) offloading: When "sendRedirect" is used, some times the relative url is being translated into an absolute url using wrong scheme (http vs https). This articles explores the problem and a possible solution using servlet filters.
Posted by satyak on April 07, 2006 at 13:23 PST | Permalink
| Discuss (2)
How to hide and unhide html sections/controls such as "div": Lot of times I go back and relearn a bunch of stuff especially in the html/javascript world. Here is one such excursion into using the html div sections for your visual advantage. Posted by satyak on October 22, 2005 at 07:40 PST | Permalink
| Discuss (0)
18 years of toil, a lot of help from the compiler, and a small but rare personal distinction: How in 18 years the code I wrote ran the first time. Posted by satyak on October 22, 2005 at 07:25 PST | Permalink
| Discuss (0)
Jaxb 2.0 tutorial: If you are looking for a quick way to get upto speed with jaxb 2.x, I have put together a jaxb 2.0 tutorial based on my short presentation at OSCON 2005. Click on the link above to see online references to the material. Posted by satyak on August 02, 2005 at 13:09 PST | Permalink
| Discuss (2)
It is idle to compare Damian Conway with anybody: Speaking of the undisputed master of short stories O.Henry, Henry James Formand said this "It is idle to compare O.Heny with anybody. The combination of technical excellence with whimsical sparkling wit, abundant humor, and fertile invention is so rare that the reader is content without comparisons." Posted by satyak on August 01, 2005 at 22:59 PST | Permalink
| Discuss (0)
CVSNT, Eclipse, and some lessons in OpenSource: I had the most difficult time getting eclipse 3.0.1 to work with the current CVSNT build CVSNT 2.0.58d. The knot has been finally unravelled and what I found, more importantly how I found out, seem to be a glimpse of how OpenSource and by extension any evoliving (and hence good quality) software matures. Posted by satyak on February 05, 2005 at 09:45 PST | Permalink
| Discuss (3)
Some notes on localizing server side applications: Localization seem to be a never ending topic. Here are some questions on the subject, occasionally followed by answers.
Posted by satyak on November 26, 2004 at 10:44 PST | Permalink
| Discuss (0)
A hobbit's ring and walls of Mordor: A journey through IT: Recently where I work I had a request to create a web page that displays some data from a database. Well I figured I could do that. This reminded me of Leonardo Da Vinci writing to a prospective employer that he could architect war machines while only on the last line of that long letter that he would mention that he could paint as well if an occasion arises. Any way back to the ring analogy where this web page is my "ring" and the database is my "drop point". I thought how hard can it be. Posted by satyak on August 11, 2004 at 01:21 PST | Permalink
| Discuss (4)
3 speakers, 3 styles, an enormously effective evening at OSCON 2004: I am quite humbled by these speakers and their ability to zero in on what is relevent and what they are trying to communicate. Although I know no perl, no python, and no klingon, I see how this is quite relevent to java. It just shows how java can rediscover its spirit and allow what I call "literate programming". My wish is that java will be in such a position that one can develop a substantial application in a single day. One should consciously aim for simplicity even in the face of complexity. Posted by satyak on July 27, 2004 at 18:33 PST | Permalink
| Discuss (0)
Tier-less computing further explained: Tier-less computing is an idea where we can program, develop and test in a single process while leaving the choice of deploying in n-tiers to deployment. Here are some examples exploring this idea further Posted by satyak on July 17, 2004 at 01:52 PST | Permalink
| Discuss (0)
Some code examples demonstrating what I call a Unified Object Server Factory Pattern: While preparing for an upcoming session at OSCON 2004, I have collected some sample code for dealing with factory patterns in java applications. The specified URL lists some demonstrative examples of the idea. The examples deal with simple object instantiation, simple object instantiation using IMultiInstance, simple object instantiation with parameters, simple object instantiation with parameters and IOC, untyped creator pattern, untyped creator pattern with configuration parameters, abstract typed factory, Abstract typed factory 1, and Abstract typed delegate. See the code examples. Posted by satyak on July 14, 2004 at 10:10 PST | Permalink
| Discuss (0)
Some code examples demonstrating what I call a Unified Abstract Configuration Pattern: While preparing for an upcoming session at OSCON 2004, I have collected some sample code for dealing with configuration in java applications. The specified URL lists some demonstrative examples of the idea. The examples deal with XML configuration files, Property file configuration files, Reading mandatory keys, Providing default values, Reading objects from configuration files, Configuration as a data source for objects, XML Child attribute equivalence, and Multiple configuration files treated as a single configuration source. See the code examples. Posted by satyak on July 13, 2004 at 11:59 PST | Permalink
| Discuss (5)
General introduction to server side java patterns: I have been trying to summarize and document some of the server side programming/design patterns I have used while building Aspire/J2EE/XML. I am quite happy to see the idea come to fruition as it was accepted as a session at the upcoming (very soon) OSCON 2004 to be held in Portland, Oregon. The presentation covers application patterns, data access patterns, business logic patterns, presentation patterns, and http patterns. I am also documenting some of the preparatory notes I am collecting on the way. Posted by satyak on July 07, 2004 at 06:55 PST | Permalink
| Discuss (0)
A bit of Tomcat, a bit of Aspire, and a touch of master pages: Microsoft Access never looked so good ;): A bit of Tomcat, a bit of Aspire, and a touch of master pages: and Microsoft Access comes to life. Having developed this simple minded content management system called AKC, when I look back I am given to think how well the web complements even the simplest and readily available of relational database systems. I use this site for my web logging, classified repository of articles, online documentation tool for the open sourced Aspire product, online educational tool for young children, a research aid for new technologies. Posted by satyak on June 10, 2004 at 07:06 PST | Permalink
| Discuss (0)
Working with ServletRequest's setCharacterEncoding for UTF-8 form submissions: when it comes to complicated things such as setting digital watches, programming vcrs, ordering a sub for your spouse (Who always has a very discriminating taste), ordering at a local McDonalds drive through, self checkouts at Home Depot, and ofcourse software, I am a minimalist. If something is not hampering my imagination and productivity I usually don't upgrade. Well I had to learn the details and implications of the "setCharacterEncoding()" and move over to servlets 1.3 (for my compiles). Posted by satyak on May 21, 2004 at 07:38 PST | Permalink
| Discuss (2)
A valuable server side java programming guide/reference: With the proliferation of java server side technologies, this tutorial from Sun is very well laid out and quite refreshing. Unlike the title this tutorial actually covers servlets, jsp, tags, web services, jaxb, soap, xslt, jsf, localization, tomcat. Essentially everything that is needed to create real world server side applications with the exceptions of EJBs. I am not complaining on that account :-). Any way good job who ever has done it.
Posted by satyak on May 20, 2004 at 06:29 PST | Permalink
| Discuss (1)
Show me the code: A taste of JAXB: The following sample code is extracted from "Architecture for XML Binding (JAXB) by Ed Ort and Bhakti Mehta, March 2003" to show you a taste of how jaxb coding look like with some of my own comments pepperred in. Posted by satyak on March 20, 2004 at 13:29 PST | Permalink
| Discuss (0)
Parts, Pipelines, and Declarative programming: An architectural model: Here is an architectural model that I use often in my serverside programming efforts. Read the full weblog for further details which include an example pipeline followed by source code for some sample parts. Posted by satyak on February 06, 2004 at 08:33 PST | Permalink
| Discuss (0)
A valentine helper from a "John Donne (1572-1631): Valentine and impending doom, when in the same sentence, are redundant. Perhaps the following lines from John Donne(1572 to 1631) might be of somehelp to the needy. Posted by satyak on February 05, 2004 at 06:32 PST | Permalink
| Discuss (0)
Type faces: An idea to bridge typed and type-less worlds: >Nowadays "type" is an important programming language construct. A type gives a certain authenticity and a certain gurantee and a certain solidity to the programming practice, not to mention the metadata aspects of it while using IDEs. By the same token it binds you to that contract and could prove to be inflexible at times. In the web world things are fluid: hashtables, dictionaries, xml, hierarchical data sets, relational databases. All of these structures seem to be horizontal and non-specific in nature. In this web log I want to think aloud to see if an idea that I call "type faces" will serve some needs. Posted by satyak on January 27, 2004 at 07:33 PST | Permalink
| Discuss (3)
How to style a simple block menu in HTML using CSS: Recently I wanted to create a block menu in my html pages. I want this block menu to have a header indicating the category of the menu and a set of menu items. There may be more than one way of doing this exercise. There may also be a better way of doing the same. But here is how I have done it and it seem to work well for now. Posted by satyak on January 22, 2004 at 22:32 PST | Permalink
| Discuss (11)
A quick refresher on CSS selectors: While working with CSS recently I have found that a quick list of CSS selectors is handy. Take a look at this item if you are keen. Posted by satyak on January 20, 2004 at 14:31 PST | Permalink
| Discuss (0)
A picture is worth a thousand words: As I have spent a good bit of the last 3 years in developing Aspire/J2EE, my discussions involuntarily drift towards floating this name. Foes ignore and friends, out of pure courtesy mainly I suspect, ask me what is Aspire/J2EE. I start, real fast (before they have a chance to retreat), and explain that it is a RAD tool for Java and J2EE ingeneral and you can do real cool things with it. And I point them to AKC and tell them how wonderful it is and how I even use it to teach my kinder garten daughter (perhaps an unsuspecting child, what does she know anyway). But as you, the observant reader might have rightly guessed, I am usually accosted with a broad grin that seem to say "sure". So I have decided to draw a picture. If you are still here click on the web log link above to see it and read more about it Posted by satyak on January 07, 2004 at 15:41 PST | Permalink
| Discuss (0)
Jedit, wordml, xaml, jxpath, InfoPath, XForms are some of the things I want to look at in 2004: Jedit, wordml, xaml, jxpath, InfoPath, XForms are some of the names that I have jotted down in 2003 to take a look at in the future. Hopefully I will get to some of these in 2004. The following knowledge folder named "Research" explores these ideas a bit further and provide additional references.
Research Knowledge Folder
Posted by satyak on January 07, 2004 at 07:49 PST | Permalink
| Discuss (1)
Interfaces and checked exceptions are like butter and sand: they don't mix well: Exceptions is one area where opinions differ considerably. Not only about the usage of exceptions but also about the need and utility of checked exceptions. I hear arguments from various sides. They all seem valid in their own right. I use interfaces heavily in my coding practice. Particularly in my J2EE tool Aspire. Over time I paid dearly for not declaring exceptions on these interfaces. Primarily because I would start out thinking that this interface is too simple and not declare an exception. Subsequent implementation of these interfaces will necessitate apis calls that throw checked exceptions. With out changing the interface either I need to throw a converted chained runtime exception or change the interface to include a politically correct middle of the road exceptions suitable for that interface Posted by satyak on January 02, 2004 at 14:48 PST | Permalink
| Discuss (4)
My labor of love during this Christmas and New Year: Like many other I-will-do-it-myself programmers I have ended up with my own blogging software at about the same time as the OSCON 2003. I had been planning on adding seemingly simple enhancements since then. While I have rejected (temporarily) the "feedback" and "shortcuts", I did implement the "masterpages" during these holidays. The result can be seen at the following URL
Knowledge Folders of Satya Komatineni
If you are curious about the story click on the weblog to read in full
Posted by satyak on January 01, 2004 at 14:08 PST | Permalink
| Discuss (0)
Role of filters in Architecture: Filters is an architectural concept that works hand in hand with factories. When factories create object or objects a filter provide an option to post-process these object or objects. This ability may not be as important in procedural and OO coding but place an important role in declarative programming. Because "declarative programming" when used as a supporting architecture for OO programming, postpones the need to program. In such a scenario filters provide another place to configure and reuse a given programming asset. Posted by satyak on December 18, 2003 at 12:21 PST | Permalink
| Discuss (0)
If architecture were to be the tower of babel, configuration is its language: As the story goes God devised multiple languages so that men can't build sturctures that span to the heavens. In our small world of programming architectures, men and women of the world are quite busy (with out much help from any Overseer) constructing a confusion of their own. The name of this confusion is called "Configuration". Posted by satyak on November 25, 2003 at 07:37 PST | Permalink
| Discuss (1)
Architecture is language agnostic. There is so much to learn both from Java and C# environments.: Some comments inspired by Daniel's web log on non-java content on java.net. Posted by satyak on November 24, 2003 at 15:31 PST | Permalink
| Discuss (5)
I like thin clients because of their simplified programming model: Thin clients may not be as programmatically rich (they can certainly compete with visual richness) as thick clients. But the bargain is that their (thin) programming model is simpler and consistent. It is a completely different matter that some tool sets try to infuse sophistication into the thin client model with out giving much thought if the solution is sacrificing the simpler programming model. Posted by satyak on November 15, 2003 at 07:51 PST | Permalink
| Discuss (6)
What do you do for your data access needs in your applications?: This is the question I get asked a lot of times as I go through my new consulting opportunities every few years. My ideas on data acces have changed over the years. And they continue to evolve both by new insights from the field and also by the needs at hand. As a matter of fact, I am currently working on two ideas 1). Declarative Data Objects (DDO) and 2). Typed yet decalarative middle tier. Posted by satyak on November 15, 2003 at 06:58 PST | Permalink
| Discuss (1)
A knowledge folder for portlets based on JetSpeed: A working set of documents that deals with issues related developing portlets using the current JetSpeed. Posted by satyak on November 10, 2003 at 13:38 PST | Permalink
| Discuss (1)
View All Blogs
|