Before I start talking about using Groovy's capabilities to create a DSL (mostly in Java), let's take a few minutes to go over what Groovy is. Groovy is a general purpose scripting language that runs on the JVM, and can largely be viewed as a superset of Java. Is this a Groovy program or a Java program? Yes, it is - it will compile and run in both. This basic program is a bit wordy, and we can certainly do things more simply in Java, but this contains a number of patterns that you'd commonly see, including the use of the bean pattern, as well as the use of the main method to make the class executable via the java command line program. When we run it, it simply prints out "Hello world!", as is customary in these sorts of things.
Somewhere in between the foggy mists of management consultancy jargon and the babbling verbiage of business analytics specialists there may, quite possibly, lay an untouched land where real business change discussions take place. The problem with business change and IT innovation is that it too often succumbs to the hijacked efforts of non-technical management figures who fail to understand the real issues at the coalface of application transformation, IT performance management and data optimization. What factors make business change through technology possible? What does it take to bring hard and fast application transformation programs to bear in the new service-based computing world of the cloud? How do we make IT innovation really real?
In the chattiest Apple’s been about the iPad trademark mess it’s in in Mainland China it said Tuesday that the financially squeezed Shenzhen Proview Technology, which claims to still own the mark there, insisted on selling the IP in 2009 through its Taiwan affiliate so its many creditors wouldn’t know it got the money. Apple claims it was snookered into dealing with the Taiwan subsidiary, which represented that it controlled two iPad marks in China even though they technically belong to Proview Shenzhen.
Swiss Post has reneged on statements it explicitly made to the Commercial Court in Zurich last year claiming it stripped the proof-of-delivery functionality that infringes an RPost patent out of its IncaMail secure e-mail service. After RPost touted Swiss Post’s apparent concession last week, Swiss Post sent an e-mail to IncaMail users and put a copy of the statement on its web site denying that any changes had been made and assuring them that they will continue to get digitally signed delivery confirmation receipts. The e-mail was also sent to RPost, which last week said that based on Swiss Post’s assurances to the court it dropped its motion for a temporary injunction against IncaMail. In its statement Swiss Post imputes a different reason to the American company.
A Dutch court Wednesday told Samsung it couldn’t have an injunction against Apple’s iPhone 4s based on patents it pledged to ETSI and 3G/UMTS standards. Not when Apple is willing to license them on fair, reasonable and non-discriminatory (FRAND) terms. It especially can’t have an injunction or otherwise call Apple to account because it’s already getting paid by Qualcomm for the patents; Apple’s just buying covered baseband chips from Qualcomm; it’s covered by extension. Samsung’s trick of terminating its Qualcomm agreement as far as Apple goes didn’t work in Holland because the widgetry was irrevocably pledged to ETSI.
Adaptive Planning, whose cloud-ified collaborative SaaS platform lets finance, sales, HR, and other management teams work together to plan, monitor, report on and analyze financial and operational performance using business data from across the organization, has gotten $22 million from Norwest Venture Partners. Existing investors Cardinal Venture Capital, Clairmont Capital, Monitor Ventures, and Onset Ventures kicked in. The company had a $10 million D round in ’08 and a $7.5 million C round in ’07. The new money is supposed to tickle its sales and product development, and push it into new channels and markets. It’s targeting Excel and hopes to scale its direct sales and partner channels worldwide, and deliver a broad set of new performance management capabilities.
Open source storage solutions, such as OpenStack Swift, have several benefits such as no vendor lock-in. In his session at the 10th International Cloud Expo, John Dickinson, a Project Technical Lead at Rackspace Hosting, will explore the ABCs of Swift, one of the largest open source object storage projects, beginning with the question of whether or not an open source cloud storage solution is right for you. He'll also explore real-world scenarios in addition to the lessons learned from building and running the largest OpenStack Swift Clusters in the world at Rackspace.
So, the new Basecamp is out, released with much applause (and yes, a few groans). We reviewed it last week and found it super promising. Exciting stuff. What’s more exciting than the sexy new project management tool, though, is how it was released. 37signals, the company behind Basecamp, basically rewrote the rules of software releases. They’ve re-invented their core product, which is pretty unprecedented for software companies, and married two models of software development, old and new. Now that’s exciting
Come May a better-late-than-never Hewlett-Packard is going to go into the multi-tenant public cloud business à la Amazon’s infrastructure-as-a-service according to what the head of HP’s cloud services Biri Singh told the New York Times the other day. The difference is supposed to be more business-ready software with a lot of third-party services, not so different structured and unstructured databases and data analytics-as-a-service. Naturally the analytics will be coming from HP’s Vertica and pricey Autonomy acquisitions. A year getting cobbled together – shades of Léo Apotheker – and based on the Nova compute piece and Swift object store borrowed from OpenStack, the Rackspace-NASA open source cloud project – the widgetry’s been in private beta since September. Apparently it’s not supposed to be exclusively self-service, which’ll give HP’s peddlers and support staff something to do.
The venture capital boys must have been bitten by the largesse bug. Another cloud company has pulled in a monster fourth round. Apptio, which already has $41 million, is getting a fresh $50 million from newcomer T Rowe Price (mostly) as well as existing investors Andreesen Horowitz, Greylock, Madrona Venture Group and Shasta Ventures, evidently persuaded the four-year-old start-up is on to a billion-dollar market. It makes enterprise B2B SaaS software that lets CIOs manage, monitor, budget and forecast their IT spending, including online services. They’re supposed to use it to communicate IT’s cost, quality and value to business management. It will use the money on sales expansion, product development and customer service. It’s going to hire more people adding about 100 to its staff of 260 by the end of the year.
In a time where the clock speeds of processors have been stable over the past couple of years, and Moore's Law is instead being applied by increasing the number of processor cores, it is getting more important for applications to use concurrent processing to reduce run/response times, as the time slicing routine via increased clock speed will no longer be available to bail out slow running programs. Carl Hewitt proposed the Actor Model in 1973 as a way to implement unbounded nondeterminism in concurrent processing. In many ways this model was influenced by the packet switching mechanism, for example, no synchronous handshake between sender and receiver, inherently concurrent message passing, messages may not arrive in the order they were sent, addresses are stored in messages, etc.
The District Court for the Northern District of California Tuesday scheduled the Android trial weighing Oracle's infringement claims against Google for April 16. It should run eight glorious weeks. Google wanted the trial to wait until fall as originally scheduled. So Oracle got what it wanted. But on Wednesday Google's lead counsel asked for a continuance, saying he and others on Google's legal team will be occupied elsewhere and wants the trial delayed until after June 29 or at least until April 30. Of course, the judge was aware of the scheduling conflict so it might not make any difference. According to patent wars observer FOSS Patents he told Google a few hours later that the prospects of any formal motion to delay "are not great." It appears that behind the scenes he's been coordinating with other district court judges to reschedule the trials demanding the presence of Google's lead counsel et al elsewhere.
A new era of Business Intelligence is unfolding with users buying and deploying BI either with or without cooperation from IT. Because of this shift, users now have many choices and need to make the best decision when it comes to BI features, functionality and price. Stay up to date on the ever-changing BI market by reviewing the findings of the 2011 Dresner Advisory Services Wisdom of Crowds BI Market Study™. Howard Dresner, report author and worldwide authority on BI, shares the latest market trends and provides true insight in to what is happening in the BI arena today. In addition, read why Actuate/BIRT is in the top position and how it exceeded its peer group and the overall sample average for all Technical Support and Product metrics by a wide margin.
View this demo for an introduction to BIRT (Business Intelligence and Reporting Tools), the powerful open source report and Rich Information Application development environment, used by over one million developers. BIRT can be used to create compelling business intelligence and reporting applications that present data to users in a very simple, user friendly and intelligent way via the web on any device. Watch now to: See how simple it is to create interactive reports, ad-hoc queries and dynamic dashboards Learn how to create information-driven content based on a wide variety of sources, including your application, live feeds and legacy data Discover how to reduce the reliance on IT and improve user self-service capabilities
I've been neglecting my blog, but just a quick note to mention that my latest talk at JavaOne, DSLs with Groovy, is posted up on Slideshare.
The talk's designed for someone with no significant Groovy experience (unlike most Groovy DSL talks), so if it's interesting to you, check it out.
I'm hoping (but not promising) to turn the talk into a series of Blog entries in the coming weeks. So if you want, just wait, and I'll send you explanations in more digestible bits and pieces in the coming weeks.
(As usual, this entry is cross posted to my main blog site.)
Any application you pick up, there are some issues – big or small. There will be copy-paste code, mistakes, algorithms which could have better thought through. But what distinguishes an antipattern from these normal errors is that like patterns these antipatterns are recurring throughout the code base. In my recent experience in dealing with performance issues, I had observed certain recurrent themes that are undermining the overall application performance. Most of these antipatterns are well documented but it seems we do not learn from others mistakes. We need to make our own mistakes. I am recounting some of the common patterns that I observed in the recent months.
Under legal pressure from Los Angeles-based RPost, Swiss Post says it has dropped proof-of-delivery functionality from its IncaMail secure e-mail service, a move that leaves the critical widgetry in a pickle. To deliver official documents – like IncaMail’s been doing – it has to be certified by the Swiss government, and to be certified by the government a delivery service has got to provide a receipt that proves the message was delivered. IncaMail got its Swiss Federal Strategy Unit for IT (FSUIT) certification before it reportedly changed the service in response to an RPost patent infringement suit in Switzerland. After months of hemming and hawing, trying to redefine “delivery,” Swiss Post has told the Swiss court hearing the case that IncaMail no longer provides proof of delivery, nor would it in the future.
The build vs. buy debate for integration stacks continues unabated. Robin Smith from Virtual Logistics interviews Hollis Tibbetts to get to the bottom of this important issue. I had a great phone conversation with (SaaS Integration pioneer) Boomi founder Rick Nucci about a month ago on the build vs. buy topic - specifically why some continue to believe that building their own integration middleware stack is a good idea, despite the mountains of evidence that it makes no sense to do so. For the most part, nobody today thinks about building their own Relational Database (I remember when that was not the case) - yet people persist in wanting to build their own integration stacks.
Its lawyers having wracked up mixed results seeking injunctions, Apple is supposedly ready to go back on its late chief Steve Jobs’ blood oath to wage “thermonuclear war” on Android for copying Apple’s widgetry and settle some of the legion of infringement suits it has filed against Android pushers. Quoting “people familiar with the matter,” the Wall Street Journal says Apple has made overtures to Samsung and Motorola Mobility, offering to license at least some of the patents they need to compete for the price of a royalty. The paper suggests there are “other terms” without saying what they may be.
OpenStack has gone into beta running tens of thousands of instances. Meanwhile Amazon, its target of opportunity, has “significantly” cut prices on EC2, its Relational Database Service (RDS), ElastiCache and Elastic Map Reduce, both on-demand and Reserved Instances, claiming it has nothing to do with competitive pressures. Amazon attributes its largesse to economies of scale, its supply chain and its DNA. Exactly how much a user can expect to save depends on the regions used and how big the instances are.
As you start to scale a software development process it becomes apparent that code and user stories have to be merged more frequently. Sometimes changes may flow from one organization to another. This means that you will need to take code from one team, merge, integrate and test those changes with everyone.
Webpage performance Web page performance as opposed to website performance is a bit more of an intricate job requiring familiarization with what is actually served on your website and how your web pages are woven together.
Whether ‘tis nobler in the mind to suffer the slings and arrows of your IT manager or to take up cache against a sea of data. With apologies to Bill Shakespeare, the IT Dog is discussing two different cache write policies: write through and write back. Let me take a run at telling you what they are, why they are different and what you need to think about when you decide what policy to use.
Cache Write Through
This is the easier to explain and understand of the two policies discussed here. Cache write through is like having your cake and eating it too. Data is written into cache for fast retrieval when needed for a future operation and at the same time, the data is written into the underlying memory location (think central database or primary storage here). Why is cache write through good? Because it insures the integrity of the data in the database so if another application needs to access the same data, you can be sure the data in the database is correct or ‘fresh’. Another benefit to cache write through is there is always a good, reliable copy of the data in the database if something happens to the cache itself (e.g. power failure). “So Dog, why wouldn’t I do cache write through all the time?” Well, because cache write through has a little problem in that the writing application must wait for the completion of the write into the primary storage before it can proceed with the next operation and as you well know, writing to primary storage can be slow which is why you are using cache in the first place. Write through cache can therefore slow down the application. So you get data integrity and assurance at the expense of application speed.
Getting Down And Dirty
We need to get a little dirty here to explain cache write back. No, not that kind of dirty; we are still talking about data and applications here. Cache write back uses cache as the temporary storage for the ‘freshest’ data and that same data is updated in the primary storage at a later time. This means that when a data location is updated, it is written to only to cache, not to primary storage and the data in cache is termed ‘fresh’. The corresponding data location in primary storage now does not match the ‘fresh’ cache data and is now considered ‘stale’. The cache controller keeps track of the state of the primary storage (fresh or stale) by using a ‘dirty’ bit to indicate if the data in the primary storage matches the cache data copy or does not. If a request for the stale data from primary storage comes in from another application, then the controller has to update the primary storage location before the application can use the data. “Why would I use this cache policy?” Well, because data is not written into slower, primary storage each time it is updated, the writing application does not have to wait for the write to primary storage to be completed before moving on to the next operation so the application runs faster. The problem with this policy is there is a small chance that the fresh cache data (or the dirty bit) can be corrupted before the data is written into primary storage. So you get speed at the expense of possible loss of data integrity.
What To Do When?
The question on which of these two cache policies to use depends on the application. Applications that absolutely cannot risk data loss (banks storing real-time trading info, continuous data protection in back store) should use write through cache policy and applications that can tolerate data loss (back end, analytics, etc.) can speed performance by using write back cache policy.
Tell Me What Your Policy Is
Let me know if you have experience with using either write back or write through cache policy and what you have learned from deploying that technique.
The Spring Data Neo4j Project This project is part of the Spring Data project, which brings the convenient programming model of the Spring Framework to modern NOSQL databases. Spring Data Neo4j, as the name alludes to, aims to provide support for the graph database Neo4j. The first part of the book provides a tutorial that walks through the creation of a complete web application called cineasts.net, built with Spring Data Neo4j. Cineasts are people who love movies, and the site is a gathering place for moviegoers. For cineasts.net we decided to add a social aspect to the rating of movies, allowing friends to share their scores and get recommendations for new friends and movies. The tutorial takes the reader through the steps necessary to create the application. It provides the configuration and code examples that are needed to understand what's happening in Spring Data Neo4j. The complete source code for the app is available on Github.
You bought a static rule-based correlation and you want to get the most out of it, or are you planning on getting and deploying one? There are some simple steps you can take to maximize its efficiency. The main use case for correlation is real-time incident management, so you need a 24x7x365 team of forensics experts to validate and follow-up on alerts - in real time. No need to have real-time correlation if you only have a 9-5 operation... If an alarm goes on at 3.a.m., do you have the skilled staff to act on it? If the answer is no, can you afford such a team? If you can't afford a 24x7 staff of experts, ask yourself if correlation is really the most appropriate effort for you.