|
|
Browse by Tags
All Tags » Agile and Extre... » Smart Clients (RSS)
-
There! Enough things in one title? The thing is that Steve Eichert and my whirlwind day covered all of that and more. Let me explain. So, for two weeks, Steve and I have been off discussing/pairing on some big ticket "Infrastructure" items. There are many things on the list and we have been applying both heavy design discussions on the whiteboard with practical prototypes or solutions. These areas have covered the whole spectrum from what will the world look like in 3 months, 6 months, a year, 3 years to caching architecture to workflow to to parallel computing to replacements for CAB to Services to reporting and much more. Yesterday, we spent a day on our "Reporting Strategy or Reporting Architecture." Being a large Enterprise platform, it is very important to have a comprehensive Reporting story on both the Smart Client side as well as on the Server side. I'll just leave it very generally that there are certain kind of reports for us that are really "Statements" and then Ad-Hoc Reporting. My story for most of the last year and half has been SQL Server Reporting Services . I have had good experiences with it at Adesso even as reporting on Oracle. Of course, there is that "small footprint" of having a "reporting database" for SQL Server but virtually all the "Enterprise Reporting" solutions require some footprint. However, lately it has become totally apparent to us that virtually every single Bank customer of ours is an Oracle shop only other than very small hedge funds and we have really de-emphasized SQL Server. Its still in our CI build and code gen but we are now optimizing for Oracle. Anyway, we wanted to keep the Statement stuff simple. Forget a whole reporting thing for that. We really only need to generate pretty much canned statements with customizable logos and footers. So Steve and I began to look at a whole bunch of HTML to PDF or .NET libraries for PDF generation. We ended up feeling real good Read More...
|
-
TGIF!! I am super busy right now designing a multi-CPU/multi-threaded Parallel Calculation Engine and diving into the science of Parallel Computing. I'll have some links when I get a chance. Windows Workflow Tomas talks about Silver , the integration of WF + WCF. The marriage is sorely needed because, as I have posted here , the current situation well, sucks. Silver uses Queues and bypasses EDS completely, which is what anyone needs to do to have any real success of communication into Workflows. Because we could not use Orcas here, we actually implemented our own version of the mechanism to avoid the hell that is EDS. Jon Flanders , the guy that helped me with the above, also worked on the PageFlow Sample that has been updated to V1.1 Even more interesting is that he has working on this project for hosting Workflows inside of BizTalk. This is very interesting as developing your own host is so not trivial, but I totally challenge Paul's assertion that " No BizTalk Experience Required ." Architecture Steve Jones has a post YAGNI, Requirements and why scaling isn't always important that I totally agree with and is in-line with what I try to do as an " Agile Architect ": "Split information exchange from the business services, and worry about the scaling that is appropriate for your information exchange. Don't worry about technical purity and some "wonder" architectural approach. Don't over engineer because if you do X (or R) then it will scale to 100,000 users, but your requirements say "6". Software Design/Agile/XP/Design Patterns/CAB Number 11 for Jeremy in his continuing excellent series on UI Design Patterns in Build your own CAB #11 - Event Aggregator Jeremy has another big AMEN post for me in his Design for Testability , which really goes with my Writing Maintainable Code post, "" Done, done, done " isn't just writing code. It's writing code and verifying that that code works correctly. Read More...
|
-
Smart Clients/Orcas I am extremely pleased to see the .NET Framework (and Microsoft) finally gain the offline sync services that I have been talking about for quite a few years in my work at Groove and Adesso . You will be able to do synchronization from WinForms and WPF apps that you could do from Groove apps (in my case WinForms) 4 years ago and Adesso 2-3 years ago now. OR/M Excellent introduction to NHibernate here more in a little bit Currently listening to Tarkus by Emerson, Lake & Palmer on album Tarkus Technorati Tags: .NET , Orcas , Data , OR/M , NHibernate , Software Architecture , , TDD , Agile , Agile Development , Extreme Programming , CLR , .NET Framework , Click Once , Microsoft Share this post: Email it! | bookmark it! | digg it! | reddit! | kick it! Read More...
|
-
I have been working with the Office Live Services Beta for some months now. They just went live with my site over the weekend (although I still have to work on the domain name transfer) and it looks pretty good! I have a new Header and Home Page design. I have added my How-To STS/Window Authentication with ADAM/AD, Roles in AzMan with WCF to the refurbished WCF page . I added a new Domain Driven Design page under Software Engineering . My Presentations, as always are here . Hey, what else am I going to do while I am waiting for my flight? I would like and appreciate any and all feedback as comments here. What's good? What's bad? Knowing my blog and its subjects, what would you like to see? Technorati Tags: .NET , Windows Communication Foundation , WCF , Software Architecture , INETA , MVP , .NET Framework 3 , Microsoft Share this post: Email it! | bookmark it! | digg it! | reddit! | kick it! Read More...
|
-
This says it all. Technorati Tags: .NET , Agile , Agile Development , Extreme Programming , ORM , Data , Entity Framework , ADO.NET 3.0 , Orcas , MVP , Visual Studio , VSTS , Team System , Microsoft Share this post: Email it! | bookmark it! | digg it! | reddit! | kick it! Read More...
|
-
A great treat today was the Architect MVPs having a tour of the PAG Agile facilities with my very good friend Peter Provost. What they have accomplished, especially within the Microsoft office system, is pretty amazing. I will publish pictures later as this information is alll public. They have constructed a number of rooms (maybe 6) that are re-sizeable to serve differing team sizes on the fly. In each room, they have created an Agile "War Room." They have pairing stations like I talked about here that we did. The walls of the room are a special kind of glass that are actually full Wall Talkers for collobrative design. Each of the pairing stations has two flat screens on pivoting equipment so that you can adjust the screens to work the way the pair does. All the cabling has been put under a raised hidden floor. Each room has a projection wall that the computers can connect to via Vista's features. All the people sit together in one of these rooms but the interesting thing is that they wanted to have glass so that the developers could still have a view of the outside and not be a "cave." There is a lot more I am sure I am missing but I encourage you to dig up Peter's posts on this. My group, when we moved to Philly, also spent a chunk of money making a first class Agile facility. We have a large open space with wall talkers. We have a a bunch of pairing stations with dual monitors. The pairing stations are flat in the sense that any pair of people can go up to any station with the chairs and go. Like Peter's groups, we created an area behind for quieter time, to do email. People use their laptops in this area to do email, etc. We don't even have email and such on the pairing stations. We created a base Win2K3 system image with all our tools, seetings (NUnit, etc) and have the exact same image on all stations. More on this later. Share this post: Email it! | bookmark it! | digg it! | reddit! | kick it! Read More...
|
-
Ah Saturday morning where we can sleep in, ah no wait...I have kids to wake me up at the crack of dawn... Software Architecture The PAG folks continue to deliver their goodness with their first weekly drop of the new version of the Smart Client Software Factory and they looked like they brought over some of the cool stuff from the Mobile version: What’s New In this drop, you have the first look at: • New Application Blocks. We have ported over four application blocks that were previously available as part of the Mobile Client Software Factory. We may refactor, remove, replace, this code in the future (we value your input), but we currently have the following: o Disconnected Agent Application Block. This application block provides management features for execution of Web services from occasionally connected smart clients. With a disconnected service agent, the device can maintain a queue of Web service requests when offline (disconnected) (emphasis mine) and then replay them when a connection to the server application becomes available. o Connection Monitor Application Block. This application block monitors and exposes the available connections and the associated networks. o Endpoint Catalog Application Block. This application block provides features to expose the physical addresses and other details of remote services. o Data Access Application Block. This application block provides support for SQL Server Compact Edition. This application block will be replaced when the factory migrates to the next version of Enterprise Library. Jeremy Miller continues his excellent posts and talks about something Steve and I approach in our architecture: Don't Let the Database Dictate Your Object Model . I have to admit to being dragged a bit by Steve into this approach with OR/M and dropping the whole data-centric database-out view I have had for many years. Also see his My Least Favorite Kind of Requirements Undocumented WCSF Feature: Global Exception Handling Udi tackles Can, or Read More...
|
-
Architecture/SOA Blaine Wastell has posted that PAG planning an update of the Smart Client Software Factory to be released in late April of this year. They are encouraging feedback at http://www.codeplex.com/smartclient and enter critical items into the issue tracker ( http://www.codeplex.com/smartclient/WorkItem/List.... ). From where I sit, they have their Priority 1 stuff right with WPF Interoperability. We absolutely need to be able to move to WPF with the existing CAB/SCBAT infrastructure I have been listing posts on WS-RM and its implementation in WCF. Harry Pierson, has an autopost that builds on his recent epiphany about WCF and long running services. He speaks about his conversation with Shy and " At some point in the three years between March 2003 and February 2006, WS-RM went from being the enabler of long running services to "yet another misnamed WS-* protocol". And with it, WCF lost (never had?) the ability to support long running services (as I've written previously )." The main point is that it does not support RM-based durable messaging. As Harry says, "As I said before, lack of support for WS-RM based durable messaging isn't that big a deal. As long as you understand WCF's sweet spot - the current version's sweet spot anyway - and don't try and make it be something it's not, you should be fine. Furthermore, Shy mentions the need for an "interoperable Queued Messaging specification" and wrote that it's something he "expect that we will get to it in the near future". Here's hoping that spec is less flexible than WS-ReliableMessaging." CLR/Tools/Agile/TDD The most indispensable tool in the .NET universe, Reflector, has gone through a big update to V5! As Jamie states , "This is a significant update with lots of refinements and new features. Perhaps most significantly it includes support for C# 3.0 language features such as LINQ query expressions, lambda expressions and extension methods. See my screencast about using Reflector 5.0 from VS Orcas." He also Read More...
|
-
In a post on January 25th , I said, "I posted yesterday that we had shipped our Enterprise Collateral Management solution based on our new architecture. As I said, we still have a lot more to do ." I provided a concise list of the methodologies, technologies and tools that we used in our 14 month cycle. To update where we are now, it will be necessary for me to give a little more context. First, when I mention "our company", we are actually a Division exclusively devoted to Collateral Management. This division, in turn is part of a much larger worldwide company that has at least 6 more financial sector products dealing with other aspects of managing risk. That company then, in turn is part of a huge Ratings company. The rest of the products are (mostly) integrated into one suite that we sell. Ours is not. One reason is that the various products have been organized into self-contained product groups. That means that we had our own development, marketing, sales, product and management for just Collateral Management. Five or six weeks ago, our company went through a rather large reorganization that aligned things by a global R&D, global Marketing, etc. I think this is an extremely good thing. Our product is now "owned" by R&D which also owns all the other products that are part of the suite and otherwise and we are detached from product so we can focus on development. We can also look at integrating into the suite and bi-directional learning. One consequence of this is now instead of my boss reporting to a VP of Collateral Management, he reports to a Senior Director in R&D who owns a product out of our large offices in Manhattan. The cool thing is that Josh Madden is a 20 year+ veteran developer/architect like me who has done great things in the Financial area for companies like Reuters. He gets development. The other cool thing is that his other product group also uses a lot of Agile techniques and greatly appreciates our total XP environment. One more thing: Read More...
|
-
Data/ADO.NET Orcas Two from the ADO.NET team: Entity Client and Nulls - LINQ to DataSets Part 3 Software Architecture/SOA/CAB Udi answers, Can or should SOA be implemented without Web Services? David Chappell on The Three Faces of SOA Eric Newcomer: WS-* vs. REST is not the question Another architect with a chronicle of How CAN and TDD helps doing better designs WCF/CardSpace Richard Turner gives an insightful report on RSA2007 especially on the "demo showed Wachovia 's website running on Corillian 's online banking platform using Arcot Systems ' security engine to generate managed cards and process token requests." Corrillian and Wachovia's work will be important for all of this in this sector as more and more backs embrace CardSpace and Identity management. We are seeing a lot of movement in this area. Jorgen provides some great links on Interoperability with WCF . This is an area that I am becoming more involved with Java systems communicating with our WCF Services. Dr. Nick continues with More Poison Message Handling Tomas on Writing a WCF Transport Channel - Part 1 Agile Architecture Uncertain Planning Nick talks about The minimum amount of architecture needed for Test Driven Design . .NET Framework 3/WF .NET Framework 3.0 training kit for WF, WCF and CardSpace [via Mike ] .NET 3.0 Middleware Technologies Day: Third Incarnation David Chappell: Why Workflow Matters WF, WCF and CardSpace training materials posted Technorati Tags: .NET , Smart Client , PAG , CAB , Software Architecture , Windows Communication Foundation , WCF , Windows Workflow , WF , Agile Architecture , TDD , .NET Framework 3 , ADO.NET , Orcas , Microsoft I'm listening to Street Life by Roxy Music on the album Stranded (Remastered) Share this post: Email it! | bookmark it! | digg it! | reddit! | kick it! Read More...
|
-
In comments to my post about our Agile project entering ship mode, a reader asked for more information about our use of CAB. While I intend to write more about OB and performance, here is a bunch of posts about CAB and our use of it during the last 14 months: Occasionally Connected Service Oriented Smart Clients New and Notable 93 New and Notable 94 Pair Programming at 33,000 Feet CAB Smart Clients in an Agile World Part 1 CAB Smart Clients in an Agile World Part 2 CAB, SCBAT and GAT New Drop of SCBAT Truckin' Along with Iteration 19 and Indigo/Contract First with Services BAT MSDN Architecture Webcast: Extending Microsoft patterns & practices ObjectBuilder Outlook Bar Workspace for CAB! How To: STS/Windows Authentication with ADAM/AD, Roles in AzMan with WCF Connecting up AzMan Roles with WCF Behaviors and CAB CTP and Diagnosing WCF, CAB and other Exceptions New and Notable 110 New and Notable 116 The Cabana Project and CAB Our Agile Project Goes into Ship/Performance Mode Technorati Tags: Software Development , Software Architecture , Agile , Agile Development , Extreme Programming , Smart Clients , CAB , SCBAT , OCC , MVP , Microsoft Share this post: Email it! | bookmark it! | digg it! | reddit! | kick it! Read More...
|
-
So, I have been writing a bunch of posts over the last 14 months, how we have been using Agile, actually full Extreme Programming practices to build a multi-million dollar Enterprise Software platform and application for the banking sector. We certainly have seriously stressed Extreme Programming/Agile techniques to their limits as this is not a small piece of software, but a large Enterprise solution that gets sold into the top banks in the world. We certainly have proven that you can use Extreme Programming/Agile techniques to build a 1.8 million dollar Enterprise product family. have talked about being an Agile Architect and why it's neccessary, how we went to CTP in July , the Process we use, our tools , and even our failings . So, after 48 Iterations we finished all the functionality we had agreed with Business was necessary for a "Phase I" delivery of our Next Generation/V5.0 product, as our Next Generation architecture will span an ambitious set of goals and products on top of this platform. Business and Development agreed together that we would stop and start a three week Iteration of fixing bugs in our backlog, testing and eating our dog food. In Extreme Programming, you are really not supposed to carry over bugs out of the Iteration but this was extremely hard with one week Iterations. We turned out very well overall as all the testing found just over 100 total bugs for 14 months work which is an order of magnitude less bugs than our previous product development techniques. In addition, we have over 1,000 unit tests and the code is well factored, clean and maintanable. The best part is the whole team understands it, not individuals. I actually haven't written about it but I have been working as Agile Architect the last few months on the next phase and not as part of the Iterations directly. These involve a whole lot of Workflow, Reporting and much more. Anyhow, I made a stand with my management the last 3 weeks and insisted that I code and Read More...
|
-
Based on a discussion I started here , I have created an Amazon Essentials list " Sam's Professional .NET List " of what I think should part and parcel of every Professional .NET Developer's collection. It's also part of my profile here . Check it out! Share this post: Email it! | bookmark it! | digg it! | reddit! | kick it! Read More...
|
-
Now that I got my Feed Demon back, I actually have some stuff in the queue that is not so "new" but perhaps still "notable." Architecture/CAB/Smart Client Oldie but goodie: Eugenio has compiled a list of CAB and Smart Client Software Factory Resources You can also see my mini-tutorial combined with an Agile sense with CAB Smart Clients in an Agile World Part 1 , and Part 2 Microsoft Software Factory Architect Jack Greenfield on Ad-Hoc and Systematic Reuse where he differentiates the two and points out that the "i n the software factories book , we explain that systematic reuse is effective, but ad hoc reuse is not." Indigo/WCF/SOA/BPM/BPEL/Workflow More goodness from Tomas with IServiceBehavior, IDispatchMessageInspector, and Endpoints A pair from the master, David Chappell, with Why BEPL is Like Bytecode , and Standardizing the Right Thing: BPMN or BPEL? Avoiding OneWay Deadlocks from Nicholas Allen Data/SQL Server CTP6 of Data Dude (i.e. VSTS for Database Pros) is out . Cameron has the scoop on the new features. Other/Tools IE7 has made it out of beta and is released The very useful CodeSmith is out in a public Beta 4.2 Agile Martin Fowler calls it the ImprovementRavine Pattern: " If you care about what you do, you care about getting better at it. This involves reflecting about how you do things, and trying out new techniques to see if they make you better. Even if other people recommend new techniques, the only way you know if they work for you is by trying them out yourself and seeing if they improve your performance.The trouble is that improvement, particularly with new techniques isn't linear. Often there is a ravine that opens up when you try a new strategy ." Seventeen Tips for Iteration Planning [from Agile Advice ] Technorati Tags: SOA , Service Oriented Architecture , Windows Communication Foundation , Software Architecture , BPEL , Data , Agile , Agile Development , Microsoft Share this post: Email it! | bookmark it! | digg it! | reddit! | kick it! Read More...
|
|
|
|