Ralf's Sudelbücher
-
Software Cells #6: Connecting Applications
In my last posting I tried to put Software Cells into perspective. And as it turned out, they prefectly fill a gap that existed between COP/OOP and SOA. With Software Cells we can seamlessly stack levels of abstraction onto each other from single statement to groups of Solutions which I call Software Societies.
-
First Impression: Meeting Google´s Craig Silverstein
Lately there has been some discussion on if and how Google might be a threat to Microsoft. Bill Gates even said "[they] kicked our butts". Right now I´m not interested in the details of where exactly Microsoft feels hurt and if Google can do substantial damage to Microsoft´s position. Rather, what now surprises me is the surprise everybody felt when Google came out with desktop search functionality and Google maps etc. I´m surprised about this, because I just met with Craig Silverstein, Google´s director of technology and first employee of Google - or Google´s man behind the curtain (as some call him).
-
Software Cells #5: A journey through the software universe from single statement to Software Societies
So, where are we with Software Cells? In my last posting I talked about Contract First design, and I guess, we now need to tie together the various bits and pieces.
We need to talk about how to connect Software Cells. For that it´s beneficial, to put Software Cells into perspective. So let´s first vary the scale of our software map. Let´s get on a journey thru the "software universe"! What can we see, if we look thru a microsope? What can we see, if you look thru a telescope? -
Software Cells #4: Contracts everywhere
In my last posting I drilled down into the details of a Software Cells. We looked at the substructures of the Core, the Adapters and the Portals. But altough I think, those substructures make much sense and should be taken as a guidance when designing an Application, I´m very open for deviations and different ideas. Should a User Portal always implement the MVC pattern? I´d say, yes, try to map your problem to MVC, start out with MVC - but if it does not match your specific problem, then do the User Portal some other way. Most important is to see the User Portal as a separate entity from Core, Adapters and Application Portal. The same goes for other structures of a Software Cell.
-
Software Cells #3: Drilling down into the cell structures
Now that I have explained the basic structure of Software Cells I need to drill down into the details of its structures. What´s the design of a Core, of Adapters and Portals?
-
Software Cells #2: Basic structures
In my last posting I introduced the term Software Cell to describe a software application. The minimally necessary ingrediences - a Host and my code to solve a problem (logic) - just looked like an organic cell once I drew some pictures of applications consisting of a Host EXE that contains some assemblies.
-
Why I´m in love with applications as host-code-combinations: Software Cells #1
If you´re still sceptical and don´t believe the proposed definition of software applications as a combination of a host plus my problem solving code has any merit over the so far diffuse usage of the term "application", maybe I can convince you to rethink your position with a couple of pictures?
-
Aristole and the definition of software applications
Somehow I cannot publish two comments I received for my proposal for a stricted definition of the term "application", so I´m publishing them this way with my comments:
-
Proposal for a more precise definition of the term "application"
I´ve given the question I posed "What is an application?" some more thought. Martin Lercher made a good point, when he wrote "deployed set of executable code, infrastructure and data such that this set is minimal" for a given purpose. And Ingo Rammer surely explains it like I would have some time ago by saying, an application is "whatever is contained in one single Visual Studio SLN file." Microsoft surely likes him for that, too :-) But still... there remains a feeling of uneasyness in me with those explanations. For one, I strongly believe, non-trivial applications (or software based solutions) should not be developed within a single VS solution. And then, Ingo says: "A certain solution - or system - however might easily consist of several applications." That means, when I set out to solve a problem and tell the customer "Hey, I´m gonna develop a nice application for you." I might be wrong? I might end up producing several applications? If that´s the case - and I believe it is - then we should define the term "application" much stricter.
-
Simple question: What is an Application? But is the answer equally simple?
Maybe I´m naive or dumb, but the more I think about it, the less I know what an "application" - an application in software development - is. Can you help me? Who can give me a simple answer?