<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7892188559065964371</id><updated>2011-12-09T16:36:06.701-05:00</updated><category term='LINQ'/><category term='Vista'/><category term='PKI'/><category term='certificates'/><category term='MVC'/><category term='VeriSign'/><category term='x.509'/><category term='trackmenot'/><category term='identity'/><category term='security'/><category term='Idm'/><category term='vested'/><category term='systinet'/><category term='microsoft'/><category term='.net'/><category term='UDDI'/><category term='policies'/><category term='Java'/><category term='Android'/><category term='IIS'/><category term='ASP.net'/><category term='mPKI'/><category term='outsourcing'/><title type='text'>Architecture, Development and Security</title><subtitle type='html'>This changes everything!!   -- Nick Vennaro.  Aegis Security Works LLC.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://aegissecurityworks.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7892188559065964371/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://aegissecurityworks.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>-npv</name><uri>http://www.blogger.com/profile/07053677969729132926</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_uUM7YlD8v-4/SScAI1DcQnI/AAAAAAAAAAM/nI9BvQSREMM/S220/Nick.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>17</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7892188559065964371.post-4131775157710497572</id><published>2011-12-07T10:05:00.001-05:00</published><updated>2011-12-09T16:33:45.404-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vested'/><category scheme='http://www.blogger.com/atom/ns#' term='outsourcing'/><title type='text'>Vested Outsourcing - An Implementation</title><content type='html'>&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;In March of this year I wrote a post about Vested Outsourcing principles, since that time I have been able to implement these concepts into a major IT Development outsourcing deal.&amp;nbsp; In this engagement, I have been fortunate in that the client is very interested in creating a true partnership with a sourcing company.&amp;nbsp; This partnership is based on creating additional value for their company not simply offshoring work to save money.&amp;nbsp; This is not to say that saving money was not important but it was not the overriding concern.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="color: #999999;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;Lessons Learned&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;In this post I will outline how we created a vested arrangement; that is how we put the five principles of vested outsourcing into practice; ultimately creating a win-win for both parties.&amp;nbsp; Before I describe how we went about this, I want to articulate some of the advantages and lessons learned during this journey:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;Starts Early&lt;/b&gt; - &lt;/span&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;Creating a vested deal and building a true partnership starts early in the process.&amp;nbsp; We started the RFI/RFP process with partnerships in mind.&amp;nbsp; This meant being cognizant of the candidate partner's costs of sales up front.&amp;nbsp; We weeded out candidates before the cost of sales became high.&amp;nbsp; &lt;/span&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;We kept the lines of communication open and created a transparent/open process that was fair to all participants.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;Why are we Doing This Again ...&lt;/b&gt; -&amp;nbsp; Establish clear achievable goals and communicate your them early and often(see staying on message and communication below).&amp;nbsp; As with any large project sometimes the foundational reason for the effort is lost in the day to day, this must stay in the forefront of your mind.&amp;nbsp; We spent a significant amount of time before the project kicked off to be sure the goals an objectives were clear and sold to the senior leadership.&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;Stay on Message&lt;/b&gt; - suppliers are not yet comfortable working in this model, as such, messaging is crucial.&amp;nbsp; In short, they will be suspicious.&amp;nbsp; Stay on message and remember; how you behave is more important than what you say.&amp;nbsp; You can talk partnership but you better act it as well.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;b style="font-family: Verdana,sans-serif;"&gt;Communication &lt;/b&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;- It is absolutely key to create a communication plan and execute against that plan.&amp;nbsp; The constituents include employees, incumbent vendors, and candidate partners.&lt;/span&gt;&amp;nbsp; &lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;Part of communication is articulating what is important to you as the buyer.&amp;nbsp; One way we did this was in the form of a term sheet.&amp;nbsp; The term sheet is a set of contractual terms that the buyer can not be flexible on -- defining this early has the benefit of keeping cost of sales down for participants (if they were not happy with the terms they could drop out early) and it sped up contract negotiations on the back end.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;b style="font-family: Verdana,sans-serif;"&gt;Differentiators&lt;/b&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt; - If you are engaging a tier-1 or even a tier-2 outsourcing vendor then it is safe to say they can handle the technologies involved, this is not their first rodeo -- how then will they differentiate themselves?&amp;nbsp; Most clients assume differentiation comes from the team they put on the ground.&amp;nbsp; While the team is important, the actual staffing structure is more critical to partnership success.&amp;nbsp; If you don't like a particular team member, the partner will be more than happy to swap that person out.&amp;nbsp; Your overriding concern should be the structure of the organization (this will not change) and how that structure fits with your company's org structure.&amp;nbsp; Culture is equally important.&amp;nbsp; Are they order takers?&amp;nbsp; You need a partner who will tell you if you are going off the rails not a yes man.&lt;/span&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;&amp;nbsp; Senior leadership commitment is another differentiator - are you getting the attention of thier senior leaders, do they understand what you mean by a partnership, and are they commited to making this work?&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;Scope &lt;/b&gt;-&amp;nbsp; We did not limit our scope to the immediate problem (development sourcing) but broadened our perspective to include process improvement initiatives that are key to the success of the sourcing effort but cut across the development organization, affecting the entire enterprise.&amp;nbsp; These improvement initiatives encompassed areas such as: knowledge management, SDLC, metrics, technical readiness, organizational culture, etc.&amp;nbsp; Including process improvement initiatives provided two main benefits - smoothed the sourcing transition and secondly provided a funding and process mechanism to initiate projects that typically are not easy to fund in IT organizations; for example: architecture, new technology analysis, strategic non-project based work.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;&lt;b style="color: #999999;"&gt;The Five Rules in Practice&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt; We were able to put the five rules of Vested Outsourcing (see March post for an intro to the five rules) into practice.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;Outcomes Based &lt;/b&gt;-We looked for ways and coached the candidate partners to assist in identifying specific outcomes not transactions.&amp;nbsp; The candidate partner has seen many sourcing deals you need to leverage that experience throughout this process.&amp;nbsp; They brought many ideas to the table.&amp;nbsp; In this case the client was very interested in code quality and the ability to flex capacity to meet business demand.&amp;nbsp; It seems obvious to say, focus the sourcing arrangement to the outcomes but being crisp regarding outcome definition and consistent in the message is intricate, nuanced, and requires some thought.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;Focus on the What&lt;/b&gt; - To be sure we focused on what needs to be accomplished and not how to perform a task.&amp;nbsp; We created a small team within the sourcing project to analyze each area and document what the goals were, being careful to stay away from implementation.&amp;nbsp; This sub-team then met with the candidate partners to solicit their best ideas regarding implementation.&amp;nbsp; Forming a clear delineation in the project team between the what and the how helped to steer the group in the right direction.&amp;nbsp; You will need to take care when staffing this sub-team, as this was a development initiative and developers tend to immediately dive down into the how of the solution - train and focus the group to stay away from implementation for this exercise.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;Metrics &lt;/b&gt;- What metrics were needed to be sure we continue to achieve our target goals?&amp;nbsp; Comparatively, this was an easy rule to put into practice as our candidates came to the table with a wealth of experience in this area.&amp;nbsp; The difficulty arose not in getting the correct metrics but getting those measures into a useful format, tool, and within a governance model that provides oversight.&amp;nbsp; We answered these latter issues with a comprehensive knowledge management approach and an integrated governance model that includes all aspects of IT management.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;Pricing Model&lt;/b&gt; - The contracting process can not take place in isolation in a vested outsourcing deal.&amp;nbsp; In a usual outsourcing arrangement the lawyers come in at the end and hash out details that would have been better discussed at the implementation team level.&amp;nbsp; You and your partner should be prepared to work through contacting the same way you worked through the RFI/RFP process, that is in an open and collaborative method.&amp;nbsp; The pricing has to tie together the "what of the deal" and the metrics; governance will then become the administrative arm of the model&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;Governance &lt;/b&gt;- Governance ties the entire process together.&amp;nbsp; We established an enterprise governance structure with integration points into the sourcing initiative.&amp;nbsp; This model was used to integrate into other areas of IT into the sourcing project.&amp;nbsp; The client partner remained on the governance team in the out years but their focus changed from supporting the client to supporting the deal.&amp;nbsp; That is a challenging transition to make, but one that is necessary if the deal is to be balanced and successful in the long term.&amp;nbsp; Our governance process provided oversight back to what we want to accomplish - if we were careful and thoughtful around what needed to be accomplished then governance of the relationship can have the proper focal point.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Over the next few months as we begin transition and eventually move to steady state I will be updating this blog to report our progress, lessons learned and specific benefits and challenges we faced along the way.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;-npv&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7892188559065964371-4131775157710497572?l=aegissecurityworks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aegissecurityworks.blogspot.com/feeds/4131775157710497572/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7892188559065964371&amp;postID=4131775157710497572' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7892188559065964371/posts/default/4131775157710497572'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7892188559065964371/posts/default/4131775157710497572'/><link rel='alternate' type='text/html' href='http://aegissecurityworks.blogspot.com/2011/12/vested-outsourcing-implementation.html' title='Vested Outsourcing - An Implementation'/><author><name>Nick</name><uri>http://www.blogger.com/profile/05193167512055472233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_yEHEd7nOKVo/S7ztDUYdOSI/AAAAAAAAAAM/EMSe0g8s_zA/S220/Nick.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7892188559065964371.post-7852377344960541616</id><published>2011-03-06T13:56:00.002-05:00</published><updated>2011-03-06T14:27:12.862-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vested'/><category scheme='http://www.blogger.com/atom/ns#' term='outsourcing'/><title type='text'>Outsourcing -   A Better Way</title><content type='html'>As a software engineer and security professional one can not help but be exposed to and involved in outsourcing of all types - BPO (Business Process Outsourcing), software development and maintenance, KPO (Knowledge Process Outsourcing), etc.&amp;nbsp; While outsourcing does not necessarily mean off-shoring the two are usually closely linked.&lt;br /&gt;&lt;br /&gt;Defining our terms -- Outsourcing is the process of subcontracting services to a third party.&amp;nbsp; Where off-shoring is relocating the business processes from one country to another. &amp;nbsp; The overwhelming reason companies outsource work is to lower costs and increase efficiencies.&lt;br /&gt;&lt;br /&gt;&lt;div style="color: #666666;"&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;The Usual Approach - &lt;/b&gt;&lt;i&gt;We run your mess for less&lt;/i&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;I have been involved in evaluating vendors, negotiating contracts, and implementing outsourcing deals across many business domains for the last ten years.&amp;nbsp; In the vast majority of cases a senior executive (or team) decides to outsource to save many -- typically thinking that they will take advantage of the labor arbitrage because outsourcing and off-shoring are thought of as the same thing.&amp;nbsp; The senior staff's thinking goes something like: "we have problems let someone else (the experts) run/manage this thing".&lt;br /&gt;&lt;br /&gt;The marching orders are then filtered down to the line staff that evaluates vendors, negotiate the deals and lives with the day to day consequences.&amp;nbsp; This dance usually takes the form of the company doing the outsourcing writing contracts and statements of work telling the service provider how they want to manage the work and for the most part the processes are the same as those used before outsourcing.&amp;nbsp; In addition to these process constraints the contracts are usually written to manage piece work.&amp;nbsp; That is to say, suppliers are reimbursed by how many operations they perform or manage.&amp;nbsp; For example; vendors that manage data centers get reimbursed by number of servers managed, calls centers by how many calls, and if you outsource development then you pay for each of the developers.&amp;nbsp; The incentive for the outsourcing vendor is to sell more of whatever it is they are managing.&amp;nbsp; Cost savings are not passed along and innovations are not sought; why would they be.&lt;br /&gt;&lt;br /&gt;Now how is this process managed?&amp;nbsp; Not by mutual cooperation because it is a zero sum game.&amp;nbsp; It is managed by nit-picking the contract by both sides, antagonism and the larger more powerful company throwing it's muscle around (the proverbial 300 pound gorilla).&lt;br /&gt;&lt;br /&gt;Overlay these process inefficiencies with a piece-work mentality, all wrapped around a zero sum game based contract and there is no wonder that the typical outsourcing arrangement evolves from, year one when the supplier tells the company "don't worry you will see savings when the process settles down".&amp;nbsp; In year two, the company moves to disillusionment and hope that this will turn itself around.&amp;nbsp; To finally, in year three of a seven year deal where the company is just counting down the time until it all ends.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;&lt;span style="color: #666666;"&gt;Vested Outsourcing - A Better Way&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Over the last two years I have been involved in a better approach and methodology to outsourcing.&amp;nbsp; It is called Vested Outsourcing (VO) - &lt;a href="http://www.vestedoutsourcing.com/"&gt;www.vestedoutsourcing.com&lt;/a&gt;.&amp;nbsp; Unlike other approaches VO has been tested in academia and across a number of business sectors (public and private).&amp;nbsp; VO is based on research conducted by the University of Tennessee and the Air Force in which five key tenets were developed and built upon, to set the stage for companies to fix their outsourcing issues.&amp;nbsp; I have become involved in VO as a research analyst conducting a VO study for the University of Tennessee (UT) and as a implementer of VO concepts for companies across the USA as an associate with a consulting company (&lt;a href="http://www.capto-consulting.com/"&gt;www.capto-consulting.com&lt;/a&gt;).&amp;nbsp; My work in these two areas has convinced me that VO is truly a better way to outsource.&lt;br /&gt;&lt;br /&gt;I won't try to explain all of VO in one blog post (there are many other sources for that) but I will summarize the five rules of vested outsourcing:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh3.googleusercontent.com/-9weywiSfDdU/TXPScHgTSTI/AAAAAAAAACE/V8gDlPK2iuk/s1600/3+Hour+Overview.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="https://lh3.googleusercontent.com/-9weywiSfDdU/TXPScHgTSTI/AAAAAAAAACE/V8gDlPK2iuk/s400/3+Hour+Overview.gif" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Rule 1: Focus on the outcome&lt;/i&gt; - As you look to outsource, the focus should be on the goals not on the transactions.&amp;nbsp; The supplier is paid to meet mutually agreed upon outcomes.&amp;nbsp; Outsourcing is then about buying and achieving desired business outcomes not about transaction management.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Rule 2: Focus on What not How&lt;/i&gt; -&amp;nbsp; Remember earlier in this post, I was talking about running your mess for less... well usually the company outsourced a function because they wanted to leverage the experts.&amp;nbsp; When it came time to write the contract they are then structured specifically telling the experts how to do their tasks.&amp;nbsp; A vested deal focuses on what the outcome should&amp;nbsp; be not telling the supplier how to implement.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Rule 3: Agree on Clearly Defined Measurable Outcomes&lt;/i&gt; - I am convinced that the focus shifts to measuring transactions because it's easier.&amp;nbsp; remember Rule 1 - stay focused on the outcomes and measure results against those.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Rule 4: Optimization of Pricing Model Incentive&lt;/i&gt;s - this involves the balance of risk and reward while setting up a deal that is mutually beneficial to both parties and adhering to tenets of VO.&amp;nbsp; In the past I have witnessed companies that have set up incentive structures for vendors and then went to great lengths NOT to pay them the incentive.&amp;nbsp; In a vested deal the pricing is optimized and tied to outcomes the customer &lt;u&gt;wants &lt;/u&gt;to pay the incentive - it is to the advantage of all parties to reach their outcomes based incentives. &lt;br /&gt;&lt;br /&gt;&lt;i&gt;Rule 5: Governance Structure that Provides Insight Not Only Oversight&lt;/i&gt; - In a vested deal we look for insights, ways to improve outcomes, methods and processes that help all parties reach their goals.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;Due to space constraints this is a simplification of VO but hopefully it will entice you to do more research.&amp;nbsp; I am involved with a number of companies at this time assessing their capabilities for outsourcing, implementing VO, and researching the field.&amp;nbsp; VO as a methodology will be a fundamental enabler or successful outsourcing.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;-npv&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7892188559065964371-7852377344960541616?l=aegissecurityworks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aegissecurityworks.blogspot.com/feeds/7852377344960541616/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7892188559065964371&amp;postID=7852377344960541616' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7892188559065964371/posts/default/7852377344960541616'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7892188559065964371/posts/default/7852377344960541616'/><link rel='alternate' type='text/html' href='http://aegissecurityworks.blogspot.com/2011/03/outsourcing-better-way.html' title='Outsourcing -   A Better Way'/><author><name>Nick</name><uri>http://www.blogger.com/profile/05193167512055472233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_yEHEd7nOKVo/S7ztDUYdOSI/AAAAAAAAAAM/EMSe0g8s_zA/S220/Nick.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh3.googleusercontent.com/-9weywiSfDdU/TXPScHgTSTI/AAAAAAAAACE/V8gDlPK2iuk/s72-c/3+Hour+Overview.gif' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7892188559065964371.post-2831972859441603627</id><published>2010-12-16T09:59:00.001-05:00</published><updated>2010-12-16T11:25:49.257-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>Head First Java - What a way to learn Java and OO programming</title><content type='html'>I occasionally teach Java programming at a local university and I am always on the lookout for books that can easily explain the necessary concepts to students.&amp;nbsp; In addition, (like most people in the technical field) I have purchased literally hundreds of books over the years to explore new topic and to keep up on trends.&lt;br /&gt;&lt;br /&gt;Most programming books are very formulaic -- Basic overview; Hello World; each chapter takes a concept and shows some coding samples etc... these books are text heavy and proceed with some esoteric examples that do not transfer well to student/reader experience.&lt;br /&gt;&lt;br /&gt;Wow what a difference when I stumbled upon&lt;i&gt; Head First Java; A Brain Friendly&lt;/i&gt; Guide by Kathy Sierra and Bert Bates. &amp;nbsp; As I was browsing this book on Amazon I thought what kind of programming book is this -- cute pictures from the 1950's; strange graphics; not much text per page -- this can't be any good; does not appear serious enough.&amp;nbsp; Was I wrong!&amp;nbsp; The creators of the series and the authors have created an incredible way to make learning a new and technical topic easy, fun, and engaging; all without loosing touch with the material.&amp;nbsp; A huge amount of serious technical material is covered.&amp;nbsp; I actually found myself reading the book cover to cover and learning a few new things along the way.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="color: #999999;"&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;What I Really Liked&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;b&gt;Examples that are easy to understand&lt;/b&gt; - when explaining inheritance they use common household items and animals for their examples.&amp;nbsp; This makes it easy to understand and explain to students.&amp;nbsp; Many other books use the concept of shapes to explain inheritance -- from my experience this does not translate well to student's experience. &lt;/li&gt;&lt;li&gt;&lt;b&gt;Making it Visual&lt;/b&gt; - actually help the reader remember concepts and puts the new material into a familiar "schema" so recall is easier.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Conversational &lt;/b&gt;- it's written in a conversational style free of jargon to help comprehension.&amp;nbsp; Then the computer speak is added - now the reader understands the concept and is buzz word compliant.&lt;/li&gt;&lt;/ol&gt;This book is a bit dated; the 2nd edition was published in 2005; up to Java 5.0.&amp;nbsp; This does not affect the quality of the work or detract from its value as a teaching aid. &lt;br /&gt;&lt;br /&gt;I could go on because I love this book; but I will close by saying this book Rocks -- buy it for anyone interested in leaning Java and OO concepts; you won't regret it.&lt;br /&gt;&lt;br /&gt;Good reading...&lt;br /&gt;&lt;br /&gt;-npv&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7892188559065964371-2831972859441603627?l=aegissecurityworks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aegissecurityworks.blogspot.com/feeds/2831972859441603627/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7892188559065964371&amp;postID=2831972859441603627' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7892188559065964371/posts/default/2831972859441603627'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7892188559065964371/posts/default/2831972859441603627'/><link rel='alternate' type='text/html' href='http://aegissecurityworks.blogspot.com/2010/12/head-first-java-what-way-to-learn-java.html' title='Head First Java - What a way to learn Java and OO programming'/><author><name>Nick</name><uri>http://www.blogger.com/profile/05193167512055472233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_yEHEd7nOKVo/S7ztDUYdOSI/AAAAAAAAAAM/EMSe0g8s_zA/S220/Nick.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7892188559065964371.post-4021537027888331358</id><published>2010-12-07T09:39:00.000-05:00</published><updated>2010-12-07T09:39:09.250-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><title type='text'>Windows Live Mesh 2011 - Key Component in My Backup Plan</title><content type='html'>I have recently experienced a PC failure.&amp;nbsp; The failure necessitated that I send the machine back to the manufacturer.&amp;nbsp; My business requires that I be back up and running within a few hours which technically I was because I had a spare PC.&amp;nbsp; The issues I experienced were as follows:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;backups were a few days old - not bad but had some problems,&lt;/li&gt;&lt;li&gt;bookmarks were missing,&lt;/li&gt;&lt;li&gt;reconfiguring software took time - outlook, accounting packages, IDE environments, etc.&lt;/li&gt;&lt;li&gt;the "feel" between PC was different and took a while to get my productivity level back up.&lt;/li&gt;&lt;/ul&gt;In short, it took a few days to be back up and running normally.&amp;nbsp; I wanted a better way to seamlessly move from one environment to the other and started to look for a more automated solution.&amp;nbsp; This post explains what I did.&lt;br /&gt;&lt;br /&gt;&lt;div style="color: #666666;"&gt;&lt;b&gt;Windows Live Mesh 2011&lt;/b&gt;&lt;/div&gt;&lt;div style="color: #666666;"&gt;&lt;br /&gt;&lt;/div&gt;I needed a program that would keep my documents, source code (that is not in source control), pst files, bookmarks, and music all in sync between two PC's and that is where Windows Live Mesh 2011 comes in.&amp;nbsp; Microsoft advertises Mesh to do three main things &lt;a href="http://www.blogger.com/%28http://explore.live.com/windows-live-mesh-devices-sync-upgrade-ui?wa=wsignin1.0"&gt;(http://explore.live.com/windows-live-mesh-devices-sync-upgrade-ui?wa=wsignin1.0&lt;/a&gt;):&amp;nbsp; Keeps files up to date across numerous computers, connect computers remotely, and sync program settings between computers -- sounds like what I needed.&lt;br /&gt;&lt;br /&gt;I then configured my backup PC to match my working PC with respect to software and settings -- which I no longer use a "old" computer as a backup; I spent the extra money to have two computers of equal configuration for the kinds of tasks I subject them to.&lt;br /&gt;&lt;br /&gt;I then loaded and configured Windows Mesh to sync the two computers.&amp;nbsp; Microsoft's documentation and intuitive nature of Mesh made this easy.&amp;nbsp; I can now move from one system to the other seamlessly.&amp;nbsp; If my main PC should crash now I would be back up and running in the time it takes me to sign on to my backup.&amp;nbsp; It is truly a hot back up.&amp;nbsp; I have added to this the additional precaution of using windows backup of each PC should they have to have some type of full recovery but that seems unlikely.&lt;br /&gt;&lt;br /&gt;Another feature of Windows Mesh is that Microsoft provides 5GB of cloud storage free of charge.&amp;nbsp; I use this to sync some data to the cloud.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;If your business requires seamless PC recovery you may consider this solution.&lt;br /&gt;&lt;br /&gt;-npv&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7892188559065964371-4021537027888331358?l=aegissecurityworks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aegissecurityworks.blogspot.com/feeds/4021537027888331358/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7892188559065964371&amp;postID=4021537027888331358' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7892188559065964371/posts/default/4021537027888331358'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7892188559065964371/posts/default/4021537027888331358'/><link rel='alternate' type='text/html' href='http://aegissecurityworks.blogspot.com/2010/12/windows-live-mesh-2011-key-component-in.html' title='Windows Live Mesh 2011 - Key Component in My Backup Plan'/><author><name>Nick</name><uri>http://www.blogger.com/profile/05193167512055472233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_yEHEd7nOKVo/S7ztDUYdOSI/AAAAAAAAAAM/EMSe0g8s_zA/S220/Nick.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7892188559065964371.post-5835844402005484324</id><published>2010-11-17T16:41:00.000-05:00</published><updated>2010-11-18T09:15:26.119-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><title type='text'>Windows Azure - Data Storage in the Cloud</title><content type='html'>&lt;div style="color: #666666;"&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Cloud Computing&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;Industry hype has not been in short supply regarding cloud computing -- there is even a Microsoft commercial touting cloud computing for the every day user -- but until relatively recently I have not had clients asking me about it for industrial strength applications.&amp;nbsp; I have put up a quick and dirty Amazon EC2 instance for some non-mission critical applications but I have not had mission crucial apps move to the cloud, why would this be the case - FUD, security, control, cost ... &lt;br /&gt;&lt;br /&gt;I am now getting some serious queries related to the Microsoft Cloud offerings.&amp;nbsp; Windows Azure offers two persistent data storage choices -- Windows Azure Table Storage and SQL Azure.&amp;nbsp; In this post I will discuss features of the two choices, how they differ, and when one is a more appropriate choice.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="color: #666666;"&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;SQLAzure&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;In Microsoft's cloud environment SQLAzure is analogous to SQLServer.&amp;nbsp;&amp;nbsp; It's not a 1:1 match, at the present time SQLAzure has a number of limitations compared to full blown SQLServer see &lt;a href="http://msdn.microsoft.com/en-us/library/ee336245.aspx"&gt;http://msdn.microsoft.com/en-us/library/ee336245.aspx&lt;/a&gt; for more info. In general SQLAzure can be thought of as cloud based SQLServer.&amp;nbsp; There are many good reference on Microsoft's site or provided by others to get you started.&lt;br /&gt;&lt;br /&gt;What I immediately liked about SQLAzure was once you have a dB setup you can access it using the old familiar tools like SQLServer Management Studio (as long as you are using 2008 R2) and accessing the dB via your applications will also be familiar ground for the developers.&amp;nbsp; As a matter of fact Microsoft provides tools for you to create and test connection strings; often times a topic of confusion, if the number of web discussions is any indication. &lt;br /&gt;&lt;br /&gt;When getting started one area where SQLAzure differs from SQLServer is that you can not use the SSMS GUI to modify the schema or add data to tables, this work has to be done using SQL statements - templates are provided for assistance.&amp;nbsp; &lt;i&gt;Houston &lt;/i&gt;to the rescue (well kind of) -- &lt;a href="https://manage-ch1.cloudapp.net/"&gt;https://manage-ch1.cloudapp.net/&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;Project Houston is a very early Microsoft beta Silverlight application that supports tables, views, data entry, and stored procedures thru a SSMS like GUI.&amp;nbsp; Folks who have been working with Microsoft for a while will know that when they call something beta it's going to be rough (this is &lt;i&gt;early &lt;/i&gt;beta, so brace yourself)&amp;nbsp; in contrast with Google a company that is known for betas that last for 5 years+.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&lt;div style="color: #666666;"&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;Azure Table Storage&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;Now this construct will take some getting used to for people who are longtime RDBMS users.&amp;nbsp; There has been some movement in the industry to simplify the RDBMS model -- loosen the rules a bit, if you will.&lt;br /&gt;&lt;br /&gt;See:&amp;nbsp; &lt;a href="http://perspectives.mvdirona.com/CommentView,guid,afe46691-a293-4f9a-8900-5688a597726a.aspx"&gt;http://perspectives.mvdirona.com/CommentView,guid,afe46691-a293-4f9a-8900-5688a597726a.aspx&lt;/a&gt; or &lt;a href="http://www.computerworld.com/s/article/9135086/No_to_SQL_Anti_database_movement_gains_steam_"&gt;http://www.computerworld.com/s/article/9135086/No_to_SQL_Anti_database_movement_gains_steam_&lt;/a&gt; or &lt;a href="http://nosql-database.org/"&gt;http://nosql-database.org/&lt;/a&gt;.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;With table storage you don't have to deal with pesky features like indexes, referential integrity, views, or stored procedures.&amp;nbsp; When I first started working with Table Storage I was reminded of IBM's VSAM (Virtual Storage Access Method) Keyed Sequence Data Sets or maybe a more common analogy would be a simple spreadsheet.&amp;nbsp; Like a KSDS in VSAM the key provides efficient querying with limited constraints. Like a spreadsheet the table in Table Storage does not have a schema.&amp;nbsp; The rows are a simple structure that contains data and the data does not have to be of a common type.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&lt;div style="color: #666666;"&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;When to Use Which Technology&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;The bottom line question that is usually posed is; when would I use one approach over the other.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="color: #666666;"&gt;Size Matters&lt;/span&gt;&lt;/b&gt; -- From a data volume (scalability) point of view Table Storage is more scalable than SQLAzure, by far.&amp;nbsp; Table Storage can currently scale to 100TB in size where SQLAzure limit is 50GB.&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #666666;"&gt;NoSQL or Not&lt;/b&gt; - If you are a traditional RDBMS company and you see benefits with the approach then you will opt for SQLAzure.&amp;nbsp; If you are in the NoSQL camp and want a less restrictive more RESTful&amp;nbsp; approach for data persistence then Table Storage would be more appropriate for your enterprise.&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #666666;"&gt;In-Out of The Cloud&lt;/b&gt; - With either approach data can be accessed via an application from in or out of the cloud.&amp;nbsp; If you need the &lt;i&gt;flexibility &lt;/i&gt;to move data from the cloud back into your data center databases then SQLAzure is the better choice.&amp;nbsp; Not only does SQLAzure align from a technical perspective but there are tools to assist you in this migration.&lt;br /&gt;&lt;br /&gt;&lt;b style="color: #666666;"&gt;Money Matters&lt;/b&gt; -&amp;nbsp; As always cost will be a factor in any decision.&amp;nbsp; Microsoft provides pricing information (&lt;a href="http://www.microsoft.com/windowsazure/pricing/"&gt;http://www.microsoft.com/windowsazure/pricing/&lt;/a&gt;) and maybe you can cut a better deal if you are a large enterprise.&amp;nbsp; I have signed up for Microsoft cloud services via the MSDN which allows developers access for testing and planning, an option for you to kick the tires for low cost.&lt;br /&gt;&lt;br /&gt;I would be willing to bet that as new software is released SQLAzure looks more and more like SQLServer and the data limitations are removed.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Good luck in the cloud.... &lt;br /&gt;&lt;br /&gt;-npv&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7892188559065964371-5835844402005484324?l=aegissecurityworks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aegissecurityworks.blogspot.com/feeds/5835844402005484324/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7892188559065964371&amp;postID=5835844402005484324' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7892188559065964371/posts/default/5835844402005484324'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7892188559065964371/posts/default/5835844402005484324'/><link rel='alternate' type='text/html' href='http://aegissecurityworks.blogspot.com/2010/11/windows-azure-data-storage-in-cloud.html' title='Windows Azure - Data Storage in the Cloud'/><author><name>Nick</name><uri>http://www.blogger.com/profile/05193167512055472233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_yEHEd7nOKVo/S7ztDUYdOSI/AAAAAAAAAAM/EMSe0g8s_zA/S220/Nick.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7892188559065964371.post-6939151170166154636</id><published>2010-11-01T11:29:00.000-04:00</published><updated>2010-11-01T11:45:07.676-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>Android Development with Hello, Android 3rd Edition</title><content type='html'>In a previous post I talked about my experience with the Android 2 phone and my desire to look into it from a development perspective.&amp;nbsp; To that end, I purchased Ed Burnette's book &lt;i&gt;Hello, Android&lt;/i&gt; 3rd Edition.&amp;nbsp; What a great book on getting started with developing for the Android.&lt;br /&gt;&lt;br /&gt;&lt;div style="color: #666666;"&gt;&lt;b&gt;Basic Concepts to the Complex&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;&lt;i&gt;Hello, Android&lt;/i&gt; takes you from the very basic steps of getting the Eclipse IDE set up for development to the more complex topics of data persistence (local storage and SQLite), graphics, and publishing to the Android market.&amp;nbsp; Ed does this by taking an example; a Sudoku application and demonstrates the topics while building an application.&amp;nbsp;&amp;nbsp; I find this method of teaching technical material very effective and it worked extraordinarily well for me.&lt;br /&gt;&lt;br /&gt;I especially liked the getting started chapters -- laying down a good foundation and I enjoyed learning about SQLLite a very nice little dB engine in a 150KB package.&lt;br /&gt;&lt;br /&gt;One area I wish was covered in more detail is security in the Droid 2 development process.&amp;nbsp; This is an area I plan on exploring in the future.&lt;br /&gt;&lt;br /&gt;Overall, a great book to get you started in Android 2 development and highly recommended.&lt;br /&gt;&lt;br /&gt;-npv&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7892188559065964371-6939151170166154636?l=aegissecurityworks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aegissecurityworks.blogspot.com/feeds/6939151170166154636/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7892188559065964371&amp;postID=6939151170166154636' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7892188559065964371/posts/default/6939151170166154636'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7892188559065964371/posts/default/6939151170166154636'/><link rel='alternate' type='text/html' href='http://aegissecurityworks.blogspot.com/2010/11/android-development-with-hello-android.html' title='Android Development with Hello, Android 3rd Edition'/><author><name>Nick</name><uri>http://www.blogger.com/profile/05193167512055472233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_yEHEd7nOKVo/S7ztDUYdOSI/AAAAAAAAAAM/EMSe0g8s_zA/S220/Nick.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7892188559065964371.post-1140292800758971977</id><published>2010-09-13T21:35:00.000-04:00</published><updated>2010-09-13T21:35:48.234-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>Android Development</title><content type='html'>&lt;b&gt;Life with an Android &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;I bought a Motorola Android phone 4 weeks ago and fell in love with it.&amp;nbsp; What I liked about it was its; fit-and finish, Google application integration, and the intuitive UI.&amp;nbsp; I had to purchase an application that would sync my Outlook contacts, notes and calendar but other than that everything I needed was on the phone when I opened the box.&amp;nbsp; Who knows, maybe I have incentive to get off Outlook soon.&lt;br /&gt;&lt;br /&gt;I had to return the phone due to a hardware issue.&amp;nbsp; I was reluctant because after 4 weeks it was set up how I liked it, things were working great.&amp;nbsp; The day my replacement phone arrived I thought I was in for a few hours of work as I made the switch.&amp;nbsp; I was in for a pleasant surprise -- after activating the phone and giving it my gmail account info I was up and running on the new phone in less than10 minutes -- all my settings with the exception of my speed dial numbers were set up automatically.&amp;nbsp; It was fantastic.&amp;nbsp; I was impressed. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Open Platform&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;I then started looking into application development on the Android and discovered lots of benefits to being on the Android&amp;nbsp; OS.&amp;nbsp; It is a truly open development platform based on Linux and open source.&amp;nbsp; As a developer you are not locked into a vendor.&amp;nbsp; Third party applications are treated as equals to native applications.&amp;nbsp; Third party app developers have access to the same API's, all code is executed in the same run time environment, system services are exposed the same way to all developers, and you are permitted to add your code to the Android market place.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Installing the Tools for Android Development&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;I thought it would be interesting to explore the Android development environment.&amp;nbsp; So I set up my PC to do some Android programming, if you are going to do this you will need to:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Download and install the latest Sun JDK SE.&lt;/li&gt;&lt;li&gt;Download and install Eclipse - I used &lt;i&gt;Eclipse IDE for Java Developers&lt;/i&gt;.&lt;/li&gt;&lt;li&gt;Install the Android SDK.&lt;/li&gt;&lt;li&gt;In Eclipse you will install a plug-in called the Android Development Toolkit (ADT).&lt;/li&gt;&lt;/ul&gt;Each of the components listed above is free of charge and you will find plenty of instructions on the web to walk you through the install process.&amp;nbsp; However, as I set up my development environment I did run into an error that I had a difficult time figuring out a solution for and I could not find an answer for on the web.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Error in Eclipse Setup -- Android not showing up in Eclipse Preferences&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;After the ADT plug-in is installed within Eclipse you should then be able to set your preferences for the Android environment by selecting &lt;i&gt;Window &lt;/i&gt;-- &lt;i&gt;Preferences &lt;/i&gt;and &lt;i&gt;Android &lt;/i&gt;should be the second option in the left-hand pane.&amp;nbsp; However, in my environment (Windows 7 Ultimate, 64 bit) the Android option was not available.&amp;nbsp; Strangely, I had to run the Eclipse program as an administrator (even though I was signed on with admin privileges) and install the ADT (after uninstalling it from my first try), the Android preference option was then available.&amp;nbsp; You don't have to continue to run Eclipse as an admin only for the initial set up.&lt;br /&gt;&lt;br /&gt;I plan on doing some application development for this platform and periodically I will report my findings and any issues/solutions.&lt;br /&gt;&lt;br /&gt;Hope this helps&lt;br /&gt;&lt;br /&gt;-npv&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7892188559065964371-1140292800758971977?l=aegissecurityworks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aegissecurityworks.blogspot.com/feeds/1140292800758971977/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7892188559065964371&amp;postID=1140292800758971977' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7892188559065964371/posts/default/1140292800758971977'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7892188559065964371/posts/default/1140292800758971977'/><link rel='alternate' type='text/html' href='http://aegissecurityworks.blogspot.com/2010/09/android-development.html' title='Android Development'/><author><name>Nick</name><uri>http://www.blogger.com/profile/05193167512055472233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_yEHEd7nOKVo/S7ztDUYdOSI/AAAAAAAAAAM/EMSe0g8s_zA/S220/Nick.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7892188559065964371.post-4930417854373288375</id><published>2010-06-18T10:54:00.000-04:00</published><updated>2010-06-18T11:58:16.391-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mPKI'/><category scheme='http://www.blogger.com/atom/ns#' term='x.509'/><category scheme='http://www.blogger.com/atom/ns#' term='PKI'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><category scheme='http://www.blogger.com/atom/ns#' term='policies'/><category scheme='http://www.blogger.com/atom/ns#' term='certificates'/><title type='text'>PKI Certificate Policy Creation</title><content type='html'>Part of planning and implementing x.509 certificates for enterprise usage involves documenting the appropriate policies and procedures.   Input for these documents comes from a variety of sources  - the organization's technology and legal departments as well as any vendor used.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold; color: rgb(153, 153, 153);"&gt;Categories of Documentation&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;There are numerous ways to organize this documentation and I will outline a method in this post.  Documentation can be organized into three main categories, see diagram below.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_yEHEd7nOKVo/TBuKwTB_jMI/AAAAAAAAAA4/Ew16xhYnqz4/s1600/PKI-Certificate+Policy+Statements.gif"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 320px;" src="http://2.bp.blogspot.com/_yEHEd7nOKVo/TBuKwTB_jMI/AAAAAAAAAA4/Ew16xhYnqz4/s320/PKI-Certificate+Policy+Statements.gif" alt="" id="BLOGGER_PHOTO_ID_5484129533600697538" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Policies from higher levels feed into lower level documents creating a logical chain of information appropriate for various audiences in the company.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-style: italic;"&gt;Security Policies&lt;/span&gt; - the usage of certificates can be documented in existing security policies; should they exist.  The SP for certificates should include information such as:  the current applications that will require certificates, type of situations and data requiring certificates, security services that exist for their usage, and list responsible people such as business and technical owners of the system.&lt;/li&gt;&lt;li&gt;&lt;span style="font-style: italic;"&gt;Certificate Policies &lt;/span&gt;- these are specific policies as they pertain to the usage of certificates.  This document will contain info related to the Certificate Authority (CA), Registration Authority (RA), and Local Registration Authority (LRA).  Technical information would include key lengths, position on weak ciphers (SSL 1.0, 2.0, 3.0), key management, revocation policies, and audit requirements.&lt;/li&gt;&lt;li&gt;&lt;span style="font-style: italic;"&gt;Certificate Practice Statement&lt;/span&gt; - the CPS translates the policies into practical guidance.  This document contains the most detail and will include a long list of items:&lt;/li&gt;&lt;/ol&gt;&lt;ul&gt;&lt;li&gt;CA information - certificate name -O, OU, C. certificate DNS,&lt;/li&gt;&lt;li&gt;Usage Info - how are certs issued, revoked, when do they expire, how are they recovered, who are the admins, usage of cross certificates.&lt;/li&gt;&lt;li&gt;Certificate Expiration - after a cert expires what is the process or renewal.&lt;/li&gt;&lt;li&gt;Revocation Lists - usage of CRL and or OCSP.&lt;/li&gt;&lt;li&gt;Usage of the CA administrative tools (web site).&lt;/li&gt;&lt;li&gt;Usage of the CA enrollment web site.&lt;/li&gt;&lt;li&gt;Certificate installation support process and method.  This can be a knowledge base that assists users of your certificate with implementation information.  If a help desk is available information on how to contact them would be provided.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Understanding the types of documentation that should be created when implementing certificates will also assist you in the actual implementation process, as it will give you a blue print of the types of decisions that need to be made before implementation and will provide a preview to some of the issues you may encounter.&lt;br /&gt;&lt;br /&gt;As always I hope this helped....&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;-npv&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7892188559065964371-4930417854373288375?l=aegissecurityworks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aegissecurityworks.blogspot.com/feeds/4930417854373288375/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7892188559065964371&amp;postID=4930417854373288375' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7892188559065964371/posts/default/4930417854373288375'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7892188559065964371/posts/default/4930417854373288375'/><link rel='alternate' type='text/html' href='http://aegissecurityworks.blogspot.com/2010/06/pki-certificate-policy-creation.html' title='PKI Certificate Policy Creation'/><author><name>Nick</name><uri>http://www.blogger.com/profile/05193167512055472233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_yEHEd7nOKVo/S7ztDUYdOSI/AAAAAAAAAAM/EMSe0g8s_zA/S220/Nick.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_yEHEd7nOKVo/TBuKwTB_jMI/AAAAAAAAAA4/Ew16xhYnqz4/s72-c/PKI-Certificate+Policy+Statements.gif' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7892188559065964371.post-8053931093892015322</id><published>2009-11-20T12:47:00.000-05:00</published><updated>2010-09-09T18:09:17.951-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='x.509'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='systinet'/><category scheme='http://www.blogger.com/atom/ns#' term='IIS'/><category scheme='http://www.blogger.com/atom/ns#' term='UDDI'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='certificates'/><title type='text'>IIS 7 as Web Front End to Systinet UDDI (or any Java Application)</title><content type='html'>It seems like an easy problem to solve. You have a java application listening on port 8080 (in this case Systinet) and you want to use Microsoft IIS to front end the incoming requests. I found that a number of people had this issue and there was not clear directions on how to solve the problem. HP support had little sympathy and suggested we stay with Jetty (Jetty ships with Systinet).&lt;br /&gt;&lt;br /&gt;Some background on the problem that needed to be solved - I have a UDDI registry (java based set of services) on the application server. Test service registry calls to: http://localhost:8080/uddi/inquiry work perfectly fine. In this case the service calls are accessing the registry directly.&lt;br /&gt;&lt;br /&gt;The goal is to have the service calls from user community come into IIS and these calls would look something like: http://localhost/uddi/inquiry. In production of course we can substitute the IP for localhost.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Solving the Problem&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A lot has been written on the web about solving this problem but everything I read didn't seem to work or was based on a different version of IIS or used another software add-in, such as APE by Helicon. We didn't want to add another piece of software into the mix.&lt;br /&gt;&lt;br /&gt;This is how I solved this problem:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;First&lt;/span&gt;, download and install ARR from Microsoft -- http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=ed922306-0d35-4764-8c2c-a378b54e90e1.&lt;br /&gt;&lt;br /&gt;Application Request Routing (ARR) is a IIS module from MS that forwards HTTP requests to application servers. After ARR installs successfully you will notice a number of new features in your IIS management console. For the problem at hand, the &lt;span style="font-style: italic;"&gt;Server Farms&lt;/span&gt; functionality is a key component to the solution.&lt;br /&gt;&lt;br /&gt;The &lt;span style="font-weight: bold;"&gt;second &lt;/span&gt;step is to create a new server farm - right click on server farms and select &lt;span style="font-style: italic;"&gt;Create Server Farm&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_uUM7YlD8v-4/SwbyOmH7hRI/AAAAAAAAACk/nej_b5a8lxE/s1600/Drawing1.gif" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5406274735270757650" src="http://2.bp.blogspot.com/_uUM7YlD8v-4/SwbyOmH7hRI/AAAAAAAAACk/nej_b5a8lxE/s400/Drawing1.gif" style="cursor: pointer; height: 320px; width: 400px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img alt="" src="file:///C:/Users/Nick/AppData/Local/Temp/moz-screenshot.png" /&gt;&lt;br /&gt;In this example my server farm is all on one physical server -- Systinet and IIS are on the same server. As you set up the new server farm you will be asked a series of questions. In the second panel of the Server Farm set up wizard - enter server address (in this example localhost) then press the add button. After the new server is added, select the &lt;span style="font-style: italic;"&gt;advanced settings&lt;/span&gt; link. Then open the application request routing link and change the port to 8080. Then press finish. See screen shot below.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_uUM7YlD8v-4/SwbfgF8gqVI/AAAAAAAAAB0/2Lhk53hEslo/s1600/Drawing1.gif" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5406254145149643090" src="http://1.bp.blogspot.com/_uUM7YlD8v-4/SwbfgF8gqVI/AAAAAAAAAB0/2Lhk53hEslo/s400/Drawing1.gif" style="cursor: pointer; height: 320px; width: 400px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The &lt;span style="font-weight: bold;"&gt;third step &lt;/span&gt;in the process - you have to set up routing rules for the new server farm. In the IIS management console select the new server farm you just created and double click on the Routing Rules (note you have to be in Feature View to see these options):&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_uUM7YlD8v-4/SwbiPbb-PbI/AAAAAAAAACE/B4P78P-WVOg/s1600/Drawing1.gif" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5406257157395856818" src="http://4.bp.blogspot.com/_uUM7YlD8v-4/SwbiPbb-PbI/AAAAAAAAACE/B4P78P-WVOg/s400/Drawing1.gif" style="cursor: pointer; height: 330px; width: 400px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;When you get into the Routing Rules area be sure to select the option that reads &lt;span style="font-style: italic;"&gt;Use URL Rewrite to inspect incoming requests &lt;/span&gt;and assuming you are not using SSL deselect the option that reads&lt;span style="font-style: italic;"&gt; Enable SSL offloading&lt;/span&gt;. You may accept all other defaults on this page.&lt;br /&gt;&lt;br /&gt;Save the Routing Rules by selecting Apply in the Action pane on the right.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;For the last step&lt;/span&gt; in the process select URL Rewrite in the Action pane on the right. The URL Rewrite screen should look something like the screen shot below. Be sure that your Action Type is Route to Server Farm and the pattern match is set up correctly.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_uUM7YlD8v-4/SwbmvU-REyI/AAAAAAAAACc/YBkZmibxRPk/s1600/Drawing1.gif" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5406262103462974242" src="http://3.bp.blogspot.com/_uUM7YlD8v-4/SwbmvU-REyI/AAAAAAAAACc/YBkZmibxRPk/s400/Drawing1.gif" style="cursor: pointer; height: 320px; width: 400px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;From the URL Rewrite screen select Add Rules option and add a Blank rule. The Edit Inbound Rule screen will then be displayed. Set up the inbound rule to look like the screen below:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_uUM7YlD8v-4/Swb2x1c0sMI/AAAAAAAAACs/9h_p728mNzc/s1600/Drawing1.gif" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5406279738726854850" src="http://4.bp.blogspot.com/_uUM7YlD8v-4/Swb2x1c0sMI/AAAAAAAAACs/9h_p728mNzc/s400/Drawing1.gif" style="cursor: pointer; height: 320px; width: 400px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Apply the changes and you are done!&lt;br /&gt;&lt;br /&gt;I verified my work by creating a VB.Net test application that makes UDDI calls to the registry. If I connect to the registry with the following connection string - Dim myConn As New Microsoft.Uddi.UddiConnection("http://localhost:8080/uddi/inquiry") the application is accessing Systinet directly and it works fine but does not use IIS.&lt;br /&gt;&lt;br /&gt;However, if I use this connection string (notice the absence of port number in connection) -&lt;br /&gt;Dim myConn As New Microsoft.Uddi.UddiConnection("http://localhost/uddi/inquiry") I am accessing the registry via IIS and the request is successfully routed to Systinet on port 8080 via the Server Farm and URL Rewrite Rules that were established above.&lt;br /&gt;&lt;br /&gt;I hope this helps....&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;-npv&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0b5394; font-size: large;"&gt;&lt;b&gt;Below is an update to this blog entry -- setting up SSL in an IIS server farm - &lt;span style="font-size: small;"&gt;02-10-2010&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The steps that I took to use SSL to protect my web service -- Systinent UDDI -- are defined below.&lt;br /&gt;&lt;br /&gt;First, you will need to create your CSR (certificate Signing Request) in IIS.&amp;nbsp; The steps for requesting and installing&amp;nbsp;the certificate are straight forward and well documented.&amp;nbsp; One item of caution however, make sure the certificate name which will translate to "issue to" in IIS, matches the site you are calling.&amp;nbsp; For example; in my test environment I intend to call: &lt;a href="https://nick-dell/uddi/inquiry"&gt;https://nick-dell/uddi/inquiry&lt;/a&gt; therefore the name of the cert should be nick-dell.&lt;br /&gt;&lt;br /&gt;After you have requested and installed the certificate (this is installed at the root level in IIS), your next step is to be sure that the company that has issued your certificate has their root certificate installed in your trusted root store.&amp;nbsp; This will complete the chain of trust between your certificate and the issuing authority.&amp;nbsp; The company that issues the certificate will have instructions on doing this.&amp;nbsp; In general, the company issuing the certificate will give you a link to their root certificate.&amp;nbsp; You will install the cert on your IIS machine.&amp;nbsp; Be sure you install it into the trusted root store.&lt;br /&gt;&lt;br /&gt;At this point your certs are installed and the trust chain is established.&amp;nbsp; The next steps will configure IIS and the server farm to use the certificate you just installed.&amp;nbsp; The first step in this process is to bind your certificate to&amp;nbsp;the web site.&amp;nbsp; In my case, this was not intuitive in that I did not have a web site per se, I was calling a web service on another server -- in this case the certificate has to be bound to IIS's default web site.&amp;nbsp; Right click on the default web site and select edit bindings; see screen print below:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_uUM7YlD8v-4/S2rs91JDUyI/AAAAAAAAAC0/D--cc5oZHns/s1600-h/Bindings.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" kt="true" src="http://3.bp.blogspot.com/_uUM7YlD8v-4/S2rs91JDUyI/AAAAAAAAAC0/D--cc5oZHns/s400/Bindings.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The next screen will allow you to bind your certificate to to the https port - 443.&amp;nbsp; Screen shot below:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_uUM7YlD8v-4/S2ruORSXKZI/AAAAAAAAAC8/10Byv5FQlD0/s1600-h/bind-2.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" kt="true" src="http://1.bp.blogspot.com/_uUM7YlD8v-4/S2ruORSXKZI/AAAAAAAAAC8/10Byv5FQlD0/s400/bind-2.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;At this point in the process the SSL certificate is bound to your IIS site.&amp;nbsp; Again, the cert is bound to the default web site not to the server farm.&lt;br /&gt;&lt;br /&gt;We are almost done configuring the web site.&amp;nbsp; The next steps involve changes to the web server farm that we set up in the beginning of this post.&amp;nbsp; In the current version of IIS there is no way to edit the properties of a server in the server farm so you have to delete the server and re-add with the new properties.&lt;br /&gt;&lt;br /&gt;&lt;div style="border: medium none;"&gt;&lt;a href="http://3.bp.blogspot.com/_uUM7YlD8v-4/S2rxh1cbynI/AAAAAAAAADE/vUA4QooIiZ0/s1600-h/farm.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" kt="true" src="http://3.bp.blogspot.com/_uUM7YlD8v-4/S2rxh1cbynI/AAAAAAAAADE/vUA4QooIiZ0/s400/farm.jpg" width="400" /&gt;&lt;/a&gt;If you have been following this post from the beginning;&amp;nbsp;your next step&amp;nbsp;will be to&amp;nbsp;remove the server from the IIS farm.&amp;nbsp; If you are installing from scratch then obviously there will be no server to remove.&amp;nbsp; See delete of server screen shot on left:&lt;/div&gt;&lt;div style="border: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border: medium none;"&gt;When the server is removed a new server must be re-added with the appropriate Application Request Routing rules established.&amp;nbsp; See Screen shot below:&lt;/div&gt;&lt;div style="border: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_uUM7YlD8v-4/S2rzIJPkqZI/AAAAAAAAADM/ZYtF266qA7Q/s1600-h/server.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" kt="true" src="http://1.bp.blogspot.com/_uUM7YlD8v-4/S2rzIJPkqZI/AAAAAAAAADM/ZYtF266qA7Q/s400/server.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="border: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border: medium none;"&gt;My web service was listening on 8080 and 8443 so the server in the farm is put on the same ports.&amp;nbsp; The calls into IIS will come in on the standard&amp;nbsp;80 and 443.&lt;/div&gt;&lt;div style="border: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border: medium none;"&gt;The last item you should check is the routing rules that we created earlier in the process.&amp;nbsp; Select your server farm and then select routing rules.&amp;nbsp; Make sure that the check box for SSL off loading remains unchecked.&amp;nbsp; In addition, the if you have established URL rewrite rules as I deomstrated above; the "Scheme" for the rule should &lt;b&gt;remain&lt;/b&gt; as http &lt;b&gt;not&lt;/b&gt; https.&lt;/div&gt;&lt;div style="border: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border: medium none;"&gt;The final item I will mention is the requirement to support&amp;nbsp; SSL and non-SSL traffic.&amp;nbsp; IIS makes this very easy option to set.&amp;nbsp; Select SSL settings for the&amp;nbsp;the default web site.&amp;nbsp; You will then see a check box that if selected will require the use of SSL.&amp;nbsp; If you want to support both SSL and non-SSL calls to the site then leave this unchecked.&lt;/div&gt;&lt;div style="border: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_uUM7YlD8v-4/S2r136NHQ8I/AAAAAAAAADU/Rgn_tS8Aqzk/s1600-h/default.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" kt="true" src="http://3.bp.blogspot.com/_uUM7YlD8v-4/S2r136NHQ8I/AAAAAAAAADU/Rgn_tS8Aqzk/s400/default.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="border: medium none;"&gt;Your IIS proxy should now work with X.509 certificates.&lt;/div&gt;&lt;div style="border: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border: medium none;"&gt;As always I hope this helps ...&lt;/div&gt;&lt;div style="border: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border: medium none;"&gt;-npv&lt;/div&gt;&lt;div style="border: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7892188559065964371-8053931093892015322?l=aegissecurityworks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aegissecurityworks.blogspot.com/feeds/8053931093892015322/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7892188559065964371&amp;postID=8053931093892015322' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7892188559065964371/posts/default/8053931093892015322'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7892188559065964371/posts/default/8053931093892015322'/><link rel='alternate' type='text/html' href='http://aegissecurityworks.blogspot.com/2009/11/iis-7-as-web-front-end-to-systinet-uddi.html' title='IIS 7 as Web Front End to Systinet UDDI (or any Java Application)'/><author><name>-npv</name><uri>http://www.blogger.com/profile/07053677969729132926</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_uUM7YlD8v-4/SScAI1DcQnI/AAAAAAAAAAM/nI9BvQSREMM/S220/Nick.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_uUM7YlD8v-4/SwbyOmH7hRI/AAAAAAAAACk/nej_b5a8lxE/s72-c/Drawing1.gif' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7892188559065964371.post-4859768282284647776</id><published>2009-08-18T19:25:00.000-04:00</published><updated>2010-09-09T18:10:14.397-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VeriSign'/><category scheme='http://www.blogger.com/atom/ns#' term='mPKI'/><category scheme='http://www.blogger.com/atom/ns#' term='x.509'/><category scheme='http://www.blogger.com/atom/ns#' term='PKI'/><category scheme='http://www.blogger.com/atom/ns#' term='IIS'/><category scheme='http://www.blogger.com/atom/ns#' term='Idm'/><title type='text'>VeriSign Managed PKI and IIS</title><content type='html'>I was contracted to set up a managed PKI site for a client.  We choose VeriSign Managed PKI.  All in all VeriSign works well and is easy to set up.  I was conducting some tests and hit a couple snags.  I thought others would benefit if I documented them and provided a solution:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;VeriSign Managed PKI - Enrolling for a Cert &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;After you have successfully generated a CSR (Certificate Signing Request); I used IIS to create the CSR and the enrollment process to create a certificate on VeriSign's website is straight forward.  The questions that are asked are what you would expect.&lt;br /&gt;&lt;br /&gt;The one catch -- like a misdirection in a crossword puzzle - I received an error message that read "Error 950b - Invalid State".  Hmmm, I start thinking like a computer science guy -- is this an information processing state, a compatible state, or maybe something related to the state of the server?&lt;br /&gt;&lt;br /&gt;Then in dawns on me -- oh, a state like in the United States!!  I get it.  I used the abbreviation for the state of Connecticut (CT) when I created my CSR and that is what VeriSign did not like; you have to spell it out -- so remember no abbreviations for the state in the CSR.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;IIS - Installing the Certificate&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;After I figured out my "state" error and successfully submitted the certificate request, VeriSign then sent the certificate.  Installation of the certificate was also somewhat straight forward except for a hiccup with IIS.  In IIS, once you have the certificate from the CA you install it by selecting the "Complete Certificate Request" link.&lt;br /&gt;&lt;br /&gt;However, in IIS 7.0 when you point to the file name provided by VeriSign you get an error of "Cannot find the certificate request associated with this certificate file. A certificate request must be completed on the computer where it was created."  Like any good MS developer, I took this in stride and tried again and got the error message "ASN1 bad tag value".  At which point I was stuck.  I happened to press F5 refreshing the screen and the server certificate was then presnted in the list box.  This should be fixed in subsequent versions of IIS.&lt;br /&gt;&lt;br /&gt;I hope this can help others when dealing with VeriSign mPKI and IIS.&lt;br /&gt;&lt;br /&gt;-npv&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7892188559065964371-4859768282284647776?l=aegissecurityworks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aegissecurityworks.blogspot.com/feeds/4859768282284647776/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7892188559065964371&amp;postID=4859768282284647776' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7892188559065964371/posts/default/4859768282284647776'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7892188559065964371/posts/default/4859768282284647776'/><link rel='alternate' type='text/html' href='http://aegissecurityworks.blogspot.com/2009/08/verisign-managed-pki-and-iis.html' title='VeriSign Managed PKI and IIS'/><author><name>-npv</name><uri>http://www.blogger.com/profile/07053677969729132926</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_uUM7YlD8v-4/SScAI1DcQnI/AAAAAAAAAAM/nI9BvQSREMM/S220/Nick.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7892188559065964371.post-8337080598514132267</id><published>2009-06-24T11:27:00.000-04:00</published><updated>2010-09-09T19:01:46.479-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><title type='text'>Can Silverlight be This Cumbersome?</title><content type='html'>First off a confession - I am not a front end GUI designer kind of guy.  I have traditionally left that to others on my projects but I have done some UI design in my career.  Furthermore I am familiar with Flash development so when MS came out with Silverlight (SL) I was intrigued but did not pursue it in detail until recently.  I was asked by a client,  a Microsoft based enterprise, to do an evaluation of Silverlight for some rich web content development they had in mind.  The goal was to determine how easily Silverlight was to work with and how well SL would integrate into their overall application architecture.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Silverlight 2.0 Set-up&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;No issues here.  I am using VS 2008 on Vista and had no issues downloading or installing SL packages.  I then created a a Silverlight project with the intent of creating a basic Silverlight page or two... then the fun began.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Silverlight Issues:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I open up the VS toolbox and attempt to drag a button onto the page and designer does not support that; come again??  I must have done something wrong.... check settings, scratch head, try again... no luck.  OK, I am a real man but I will read the manual anyway.... everyone is having this problem -- no drag and drop.&lt;br /&gt;&lt;br /&gt;To get the button on the screen you have to hand code the XAML.  So I hand coded the button and a text box with of course the corresponding properties.&lt;br /&gt;&lt;br /&gt;I did get this small app to work and developed a few more complicated examples as a Proof of Concept for my client.&lt;br /&gt;&lt;br /&gt;Microsoft is also offering a free hosting solution for Silverlight applications as a way to test your SL apps.  You can sign up for this by visiting: &lt;a href="http://silverlight.live.com/"&gt;http://silverlight.live.com/&lt;/a&gt;.  This site worked very well and I had my SL applications up and running for demo in no time.&lt;br /&gt;&lt;br /&gt;My next attempt to deal with the cumbersome process of hand coding XAML was to try and port my project to MS Expression Blend with the hope that I could eliminate some of the issues faced in VS 2008.... but no.  Expression Blend found all kinds of "errors" in the XAML that VS was fine with.  I have since found other reports on the web that indicate that the XAML created in VS is not compatible across Microsoft products.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Navigation&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Transitioning from page to page in a Silverlight application should be straightforward, after all we have been doing this with MS tools for a long time.  Surprisingly, MS did not supply any built in navigational capabilities within Silverlight.  Multiple user controls can be added to a SL application but there is no automated way to transition from one to another.  SL does provide a HyperlinkButton control, its purpose is to link between HTML pages.  If the user clicks on the HyperlinkButton control then the Silverlight application is unloaded and the user is directed to a new URL.  If this new application is a SL app then a new instance of SL is started all over again.  While this is cumbersome to code it's undoubtedly a performance problem as well.&lt;br /&gt;&lt;br /&gt;A nice feature of Silverlight development is you do not require a separate design tool or different programming language for RIA development.  Furthermore, the calling of server-side .Net code is much easier with SL than with Flash.&lt;br /&gt;&lt;br /&gt;To address the XAML issues I am told to purchase VS Team Edition and things will work better.... oh well, maybe I will wait for the next version of Silverlight and in the mean time I will stay with CSS and Ajax.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7892188559065964371-8337080598514132267?l=aegissecurityworks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aegissecurityworks.blogspot.com/feeds/8337080598514132267/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7892188559065964371&amp;postID=8337080598514132267' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7892188559065964371/posts/default/8337080598514132267'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7892188559065964371/posts/default/8337080598514132267'/><link rel='alternate' type='text/html' href='http://aegissecurityworks.blogspot.com/2009/06/can-silverlight-be-this-cumbersome.html' title='Can Silverlight be This Cumbersome?'/><author><name>-npv</name><uri>http://www.blogger.com/profile/07053677969729132926</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_uUM7YlD8v-4/SScAI1DcQnI/AAAAAAAAAAM/nI9BvQSREMM/S220/Nick.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7892188559065964371.post-7404862860920664287</id><published>2009-05-06T15:58:00.000-04:00</published><updated>2010-09-09T16:39:52.840-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='trackmenot'/><category scheme='http://www.blogger.com/atom/ns#' term='identity'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><category scheme='http://www.blogger.com/atom/ns#' term='policies'/><title type='text'>TrackMeNot - Obfuscation and Security</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Our Searches Define Us&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The &lt;span style="font-style: italic;"&gt;Atlantic Monthly&lt;/span&gt; magazine recently published an article about Internet search privacy -- &lt;span style="font-style: italic;"&gt;Atlantic Monthly&lt;/span&gt; May 2009; "Without a Trace" (http://www.theatlantic.com/doc/200905/web-tracking).  This article got me thinking that it has become a fairly hot topic -- Internet search companies (Yahoo!, Google, MSN etc...) storing our search data, potentially correlating it with our identity, and using it to sell us stuff or handing it over to the government to determine if we have been thinking about doing something illegal.  Back in 2006 the &lt;span style="font-style: italic;"&gt;NY Times&lt;/span&gt; reported that it was fairly trivial task to tie a particular user to their searches that were saved and published by AOL.  In the same article the DOJ (Department of Justice) is accused of coercing search companies into handing over search data.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;TrackMeNot&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Concern over the privacy of searches has lead to tools that will hide search results.  TrackMeNot (TMN) is a software Add-on for Firefox that generates a series of fake queries to obfuscate the users real search intentions.  TMN was created by Daniel Howe and Helen Nissenbaum both affiliated with New York University.  From the TMN site, it is defined as:&lt;br /&gt;&lt;br /&gt;&lt;div class="block"&gt;&lt;span style="color: #00446d; font-family: verdana; font-size: 85%;"&gt;&lt;b&gt;&lt;i&gt;"TrackMeNot&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;             &lt;span style="color: #413f3f; font-family: verdana; font-size: 85%;"&gt; is a lightweight browser extension that helps protect web searchers from surveillance and data-profiling by search engines. It does so not by means of concealment or encryption (i.e. covering one's tracks), but instead, paradoxically, by the opposite strategy: noise and obfuscation. With TrackMeNot, actual web searches, lost in a cloud of false leads, are essentially hidden in plain view. User-installed TrackMeNot works with the &lt;a class="link" href="http://www.mozilla.com/firefox/" targer="_blank"&gt;Firefox Browser&lt;/a&gt; and popular search engines (AOL, Yahoo!, Google, and MSN) and requires no 3rd-party servers or services."  http://mrl.nyu.ed/~dhowe/trackmenot/&lt;br /&gt;&lt;br /&gt;&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Will TMN Work?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Creating noise in the communication channel would make the data mining problem more difficult but would it really stop someone from determining if you were doing something they needed to pay attention to; I don't think so.&lt;br /&gt;&lt;br /&gt;Let's say you were interested in researching some illegal activity, such as car theft.  In doing your research you used Google to search for something like -- "hot wiring cars", "easiest auto to steal".  Now suppose TMN adds hundreds of innocuous false searches like "bird watching", "movie reviews" etc.  This noise might bog down an analyst researching these queries using paper and pencil but would it stop a computer program analyzing millions of searches?  No it wouldn't.  Additionally, it wouldn't matter how many false queries were in the mix if I only cared about hits on "interesting" subjects like automobile theft.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Obfuscation is not Computer Security &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Users who are serious about privacy will use an anonymization software product -- products such as:  Tor, JonDo, or Anonymizer.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #413f3f; font-family: verdana; font-size: 85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7892188559065964371-7404862860920664287?l=aegissecurityworks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aegissecurityworks.blogspot.com/feeds/7404862860920664287/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7892188559065964371&amp;postID=7404862860920664287' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7892188559065964371/posts/default/7404862860920664287'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7892188559065964371/posts/default/7404862860920664287'/><link rel='alternate' type='text/html' href='http://aegissecurityworks.blogspot.com/2009/05/trackmenot-obfuscation-and-security.html' title='TrackMeNot - Obfuscation and Security'/><author><name>-npv</name><uri>http://www.blogger.com/profile/07053677969729132926</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_uUM7YlD8v-4/SScAI1DcQnI/AAAAAAAAAAM/nI9BvQSREMM/S220/Nick.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7892188559065964371.post-4142400731493576328</id><published>2009-04-04T15:14:00.000-04:00</published><updated>2010-09-09T19:02:19.149-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MVC'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.net'/><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><title type='text'>ASP.Net - Model View Conrtoller (MVC) Framework</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Microsoft Download&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Microsoft is providing a very useful download for creating MVC applications using ASP.Net 3.5 run time.  The install is very straight forward and I did not experience any issues.  I am using VS 2008 Professional Edition on Vista.&lt;br /&gt;&lt;br /&gt;Get the download from Microsoft:&lt;br /&gt;&lt;br /&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=53289097-73ce-43bf-b6a6-35e00103cb4b&amp;amp;displaylang=en&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Model View Controller Pattern&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The MVC framework has been used for a long time now.  It was first defined in the late 70's but came into its own in the 1990's and is widely used today.  It's a great way to separate business logic from the user interface.  Do a quick web search should you need to convince yourself of the utlity of this pattern.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Using the Framework&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;ASP.Net MVC 1.0 -- with this framework Visual Studio will generate the inital code for the models, views, and controllers.  Much of the code framework is in place for you and your job is to expand on that code.&lt;br /&gt;&lt;br /&gt;I used the framework to quickly create a intranet application that a client needed to query a dB, retrieve rows, and allow the client to update that data.  In very short order I had a well designed application -- becasue we all know a customer asks for a very quick thing and it then can take on a life of its own and pretty soon you have a large application that is around for many years -- that could be built upon later if need be.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Getting Started:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I would highly recommend checking out this site:&lt;br /&gt;&lt;br /&gt;http://www.asp.net/learn/MVC/tutorial-21-vb.aspx.&lt;br /&gt;&lt;br /&gt;It is an ASP.Net tutorial that takes you step by step through using the MVC framework.  I had no problems setting up and using the framework.  One thing I did change with this tutorial is I used SQL Server Enterprise Edition not Express because that was easier for me.  The steps for using EE are pretty much the same as if you were to use Express.&lt;br /&gt;&lt;br /&gt;Give it a try....&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;-npv&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7892188559065964371-4142400731493576328?l=aegissecurityworks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aegissecurityworks.blogspot.com/feeds/4142400731493576328/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7892188559065964371&amp;postID=4142400731493576328' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7892188559065964371/posts/default/4142400731493576328'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7892188559065964371/posts/default/4142400731493576328'/><link rel='alternate' type='text/html' href='http://aegissecurityworks.blogspot.com/2009/04/aspnet-model-view-conrtoller-mvc.html' title='ASP.Net - Model View Conrtoller (MVC) Framework'/><author><name>-npv</name><uri>http://www.blogger.com/profile/07053677969729132926</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_uUM7YlD8v-4/SScAI1DcQnI/AAAAAAAAAAM/nI9BvQSREMM/S220/Nick.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7892188559065964371.post-4412762961643381746</id><published>2009-01-09T15:43:00.000-05:00</published><updated>2010-09-09T16:38:05.718-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><title type='text'>Microsoft Data Access -- It's Getting Confusing</title><content type='html'>Well in actuality Microsoft data access has always been confusing due to too many choices.  A decision theory paradox is that too many options causes decision paralysis and that has been the case with Microsoft data access methods for a very long time -- many will recall RDO, ADO, ODBC, and now we have LINQ, ADO.Net Core, ADO.Net Data Services Framework, ADO.Net Entity Framework .... Add to this that Microsoft and some other who may be just stirring the pot have published that LINQ may not be a strategic dirction for the Redmond Gods... What is an architect or development lead to do... ??&lt;br /&gt;&lt;br /&gt;I have always found it difficult to read the tea leaves regarding technology direction.  It would see that the best an architect can do is follow the advice provided by Microsoft in their &lt;span style="font-style: italic;"&gt;Application Architecture Guide&lt;/span&gt;.  This is part of the Pocket Guide Series collection.  The use case based advice they provide is:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;ADO.NET Core&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Consider using ADO.NET Core if you:&lt;br /&gt;&lt;br /&gt;• Need to use low level API for full control over data access your application.&lt;br /&gt;• Want to leverage the existing investment made into ADO.NET providers.&lt;br /&gt;• Are using traditional data access logic against the database.&lt;br /&gt;• Do not need the additional functionality offered by the other data access technologies.&lt;br /&gt;• Are building an application that needs to support disconnected data access experience.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;ADO.NET Data Services Framework&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Consider using ADO.NET Data Services Framework if you:&lt;br /&gt;&lt;br /&gt;• Are developing a Silverlight application and want to access data through a data centric&lt;br /&gt;service interface.&lt;br /&gt;• Are developing a rich client application and want to access data through a data centric&lt;br /&gt;service interface.&lt;br /&gt;• Are developing N-tier application and want to access data through data centric service&lt;br /&gt;interface.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;ADO.NET Entity Framework&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Consider using ADO.NET Entity Framework (EF) if you:&lt;br /&gt;&lt;br /&gt;• Need to share a conceptual model across applications and services.&lt;br /&gt;• Need to map a single class to multiple tables via Inheritance.&lt;br /&gt;• Need to query relational stores other than the Microsoft SQL Server family of products.&lt;br /&gt;• Have an object model that you must map to a relational model using a flexible schema.&lt;br /&gt;• Need the flexibility of separating the mapping schema from the object model.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;ADO.NET Sync Services&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Consider using ADO.NET Sync Services if you:&lt;br /&gt;&lt;br /&gt;• Need to build an application that supports occasionally connected scenarios.&lt;br /&gt;• Need collaboration between databases.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;LINQ to Data Services&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Consider using LINQ to Data Services if you:&lt;br /&gt;&lt;br /&gt;• Are using data returned from ADO.NET Data Services in a client.&lt;br /&gt;• Want to execute queries against client-side data using LINQ syntax.&lt;br /&gt;• Want to execute queries against REST data using LINQ syntax.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;LINQ to DataSets&lt;/span&gt;&lt;br /&gt;Consider using LINQ to DataSets if you:&lt;br /&gt;&lt;br /&gt;• Want to execute queries against a Dataset, including queries that join tables.&lt;br /&gt;• Want to use a common query language instead of writing iterative code.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;LINQ to Entities&lt;/span&gt;&lt;br /&gt;Consider using LINQ to Entities if you:&lt;br /&gt;&lt;br /&gt;• Are using the ADO.NET Entity Framework&lt;br /&gt;• Need to execute queries over strongly-typed entities.&lt;br /&gt;• Want to execute queries against relational data using LINQ syntax.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;LINQ to Objects&lt;/span&gt;&lt;br /&gt;Consider using LINQ to Objects if you:&lt;br /&gt;&lt;br /&gt;• Need to execute queries against a collection.&lt;br /&gt;• Want to execute queries against file directories.&lt;br /&gt;• Want to execute queries against in-memory objects using LINQ syntax.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;LINQ to XML&lt;/span&gt;&lt;br /&gt;Consider using LINQ to XML if you:&lt;br /&gt;&lt;br /&gt;• Are using XML data in your application.&lt;br /&gt;• Want to execute queries against XML data using LINQ syntax.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;LINQ to SQL Considerations&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;LINQ to Entities is the recommended solution for LINQ to relational database scenarios. LINQ to SQL will continue to be supported but will not be a primary focus for innovation or&lt;br /&gt;improvement. If you are already relying upon LINQ to SQL you can continue using it. For new&lt;br /&gt;Rich Internet Application Architecture solutions, consider using LINQ to Entities instead. At the time of this writing, this is the product group position:&lt;br /&gt;&lt;br /&gt;“We will continue make some investments in LINQ to SQL based on customer feedback.&lt;br /&gt;This post was about making our intentions for future innovation clear and to call out the fact that as of .NET 4.0, LINQ to Entities will be the recommended data access solution for LINQ to&lt;br /&gt;relational scenarios.”&lt;br /&gt;&lt;br /&gt;Keep reading and keep watching...&lt;br /&gt;&lt;br /&gt;'&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7892188559065964371-4412762961643381746?l=aegissecurityworks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aegissecurityworks.blogspot.com/feeds/4412762961643381746/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7892188559065964371&amp;postID=4412762961643381746' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7892188559065964371/posts/default/4412762961643381746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7892188559065964371/posts/default/4412762961643381746'/><link rel='alternate' type='text/html' href='http://aegissecurityworks.blogspot.com/2009/01/microsoft-data-access-its-getting.html' title='Microsoft Data Access -- It&apos;s Getting Confusing'/><author><name>-npv</name><uri>http://www.blogger.com/profile/07053677969729132926</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_uUM7YlD8v-4/SScAI1DcQnI/AAAAAAAAAAM/nI9BvQSREMM/S220/Nick.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7892188559065964371.post-5292568746353589326</id><published>2008-12-10T15:21:00.000-05:00</published><updated>2008-12-11T08:47:03.759-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='LINQ'/><title type='text'>The Missing LINQ</title><content type='html'>I recently returned from a Microsoft training session for the data access technology called -- LINQ (Language Integrated Query).  In short, I am impressed.&lt;br /&gt;&lt;br /&gt;Ever since graduate school I have been thinking about and working through the issue commonly known as &lt;span style="font-style: italic;"&gt;impedance mismatch&lt;/span&gt;.   In software engineering impedance mismatch is the difficulties that arise between a programming language and the relational database system used to persist data.    In an OO language there is disconnect between the language and the dB constructs.    This mismatch occurs at various levels -- data structure, data types, data models, and the way in which the engineer programs in an OO language vs. SQL.   This mismatch is exacerbated when you add additional data stores -- how we access a RDBMS is different than how we access LDAP, which is different from how we access XML, and they are all different from the language that we are programming in, VB.net for example.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The Missing LINQ&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;LINQ is not a new programming language.  LINQ is integrated into the .net languages -- VB.net, C#.  The beauty of LINQ is that once you learn its syntax  and concepts the methods by which you access data are the same (or at least very similar) across data sources.  This has two key benefits -- one, the language that you access the data source with is the same as the language you are programming in and two, disparate data sources are accessed using very similar syntax.&lt;br /&gt;&lt;br /&gt;The diagram below provides an overview of the LINQ architecture. &lt;span style="color: rgb(51, 51, 255);"&gt; Click on image for clearer view.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_uUM7YlD8v-4/SUA7zjZo72I/AAAAAAAAAAw/FTpNvm9v6KY/s1600-h/LINQ-ArchitectureOverview+v1.0.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 283px; height: 320px;" src="http://1.bp.blogspot.com/_uUM7YlD8v-4/SUA7zjZo72I/AAAAAAAAAAw/FTpNvm9v6KY/s320/LINQ-ArchitectureOverview+v1.0.gif" alt="" id="BLOGGER_PHOTO_ID_5278284520140369762" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Support in multiple .net languages integrate with LINQ.&lt;br /&gt;&lt;br /&gt;LINQ engine provides interface between the programming language and the LINQ providers.&lt;br /&gt;&lt;br /&gt;LINQ providers support multiple data sources so the developer can use the same concepts and syntax to access data stored in different formats.&lt;br /&gt;&lt;br /&gt;Closer language integration means easier coding and testing.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Will LINQ Fly&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;As a technology LINQ is fabulous and will only get better.  Will LINQ take hold with developers and IT departments?   If you were developing a system from scratch you would be much more likely to use the technology, however the "L" word (Legacy Code) is bound to be an issue.   As companies add LINQ to their technology toolbox their will be a point that adding another technology for data access will be just too painful.   I would hope that architects and designers begin to steer their companies towards this compelling technology.  I have a few customers that have dabbled with LINQ but as of yet I have not seen a big push to the technology... Time will tell.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Some books I have found helpful when learning LINQ are:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Programming Microsoft LINQ&lt;/span&gt; by Paolo Pialorsi and Marco Russo&lt;br /&gt;&lt;br /&gt;http://www.amazon.com/Programming-Microsoft%C2%AE-PRO-Developer-Paolo-Pialorsi/dp/0735624003/ref=pd_bbs_sr_3?ie=UTF8&amp;amp;s=books&amp;amp;qid=1228942086&amp;amp;sr=8-3&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;ProLINQ: Language Integrated Query in C# &lt;/span&gt;by Joseph Rattz Jr.&lt;br /&gt;&lt;br /&gt;http://www.amazon.com/Pro-LINQ-Language-Integrated-Windows-Net/dp/1590597893/ref=pd_bbs_sr_1_s9_rk?ie=UTF8&amp;amp;s=books&amp;amp;s9r=8a02b541179b7cc00117aa39be1302e0&amp;amp;itemPosition=1&amp;amp;qid=1228942086&amp;amp;sr=8-1&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;As more of my clients begin to use LINQ I will share my experiences.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7892188559065964371-5292568746353589326?l=aegissecurityworks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aegissecurityworks.blogspot.com/feeds/5292568746353589326/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7892188559065964371&amp;postID=5292568746353589326' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7892188559065964371/posts/default/5292568746353589326'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7892188559065964371/posts/default/5292568746353589326'/><link rel='alternate' type='text/html' href='http://aegissecurityworks.blogspot.com/2008/12/missing-linq.html' title='The Missing LINQ'/><author><name>-npv</name><uri>http://www.blogger.com/profile/07053677969729132926</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_uUM7YlD8v-4/SScAI1DcQnI/AAAAAAAAAAM/nI9BvQSREMM/S220/Nick.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_uUM7YlD8v-4/SUA7zjZo72I/AAAAAAAAAAw/FTpNvm9v6KY/s72-c/LINQ-ArchitectureOverview+v1.0.gif' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7892188559065964371.post-8868605811667411086</id><published>2008-11-26T16:14:00.000-05:00</published><updated>2008-11-26T16:29:08.394-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='identity'/><category scheme='http://www.blogger.com/atom/ns#' term='Idm'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>Roles Management or Identity Management – What comes first?</title><content type='html'>“What do we implement first, a roles management system or an Identity Management system?” I get asked this question frequently by clients contemplating a project to put order to their roles management and provisioning process. Unfortunately, like a lot of things in life the answer depends -- and it depends on a number of factors, some of which are:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Your current situation – do you have some sort of system(s) in place already, what tools are you currently using and how well will with integrate with an IdM or roles solutions.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Where are the current pain points – I have had clients starting out wanting an IdM solution only to change gears as analysis reveals that the current pain point is around roles.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Green field – no systems online to perform these tasks – well this is a nice place to be and you have some choices (see below for standalone IdM vs. combined IdM and Roles Management).&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Budge Size: Poor Man’s IdM – I have had clients use a roles management system and make some integration enhancements to create a low end provisioning solution.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;A critical point to consider when choosing a direction is the trade off between a best of breed solution or a one vendor solution. Purchasing an IdM and Roles Management solution separately and integrating has some downside risks, such as integration costs and gottchs tend to rise.&lt;br /&gt;&lt;br /&gt;Most companies look to a one vendor solution if they are in a green field situation. Some obvious one vendor solutions are SUN – use SUN Identity Manager and you get their newly acquired Vaau system for roles management. There is a similar solution option with Oracle and their&lt;br /&gt;acquisition of BridgeStream.&lt;br /&gt;&lt;br /&gt;Once you choose a vendor(s) direction the next critical question will be identity mapping process and which package (IdM or Roles Management) will become the reconciliation hub for identities and entitlements across the enterprise. My experience has been that this integration can be done in either tool but if you are planning to implement both IdM and Roles Management with separate packages I would architect the IdM act as the enterprise identity vault and be the source of record for the collected data.&lt;br /&gt;&lt;br /&gt;These are a few of the items to consider in your IdM and Roles Management acquisition process.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7892188559065964371-8868605811667411086?l=aegissecurityworks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aegissecurityworks.blogspot.com/feeds/8868605811667411086/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7892188559065964371&amp;postID=8868605811667411086' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7892188559065964371/posts/default/8868605811667411086'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7892188559065964371/posts/default/8868605811667411086'/><link rel='alternate' type='text/html' href='http://aegissecurityworks.blogspot.com/2008/11/roles-management-or-identity-management.html' title='Roles Management or Identity Management – What comes first?'/><author><name>-npv</name><uri>http://www.blogger.com/profile/07053677969729132926</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_uUM7YlD8v-4/SScAI1DcQnI/AAAAAAAAAAM/nI9BvQSREMM/S220/Nick.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7892188559065964371.post-1736299715459068843</id><published>2008-11-21T13:21:00.000-05:00</published><updated>2010-09-09T16:41:53.093-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IIS'/><category scheme='http://www.blogger.com/atom/ns#' term='Vista'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><title type='text'>Vista - Add Windows Authentication Provider for IIS 7.0</title><content type='html'>I had installed IIS 7.0 in Windows Vista (Ultimate) machine and sat down to work on some ASP.Net application for a client.  As I tried to use a site &lt;span style="font-style: italic;"&gt;location &lt;/span&gt;choice of HTTP and I get an error message telling me to configure Windows Authentication ... but how??&lt;br /&gt;&lt;br /&gt;Well after some looking around here is how to add Windows Authentication to IIS after it has been installed (Note: during install the default is not to install windows authN). &lt;br /&gt;&lt;br /&gt;In Vista: Open Control Panel --&amp;gt; select Programs and Features --&amp;gt; Select Turn Windows Features On-Off --&amp;gt; Locate IIS --&amp;gt; Select Security Node --&amp;gt; and you will find &lt;span style="font-style: italic;"&gt;Windows Authentication&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;I hope this saves you some time&lt;br /&gt;&lt;br /&gt;-npv&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7892188559065964371-1736299715459068843?l=aegissecurityworks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aegissecurityworks.blogspot.com/feeds/1736299715459068843/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7892188559065964371&amp;postID=1736299715459068843' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7892188559065964371/posts/default/1736299715459068843'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7892188559065964371/posts/default/1736299715459068843'/><link rel='alternate' type='text/html' href='http://aegissecurityworks.blogspot.com/2008/11/vista-add-windows-authentication.html' title='Vista - Add Windows Authentication Provider for IIS 7.0'/><author><name>-npv</name><uri>http://www.blogger.com/profile/07053677969729132926</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_uUM7YlD8v-4/SScAI1DcQnI/AAAAAAAAAAM/nI9BvQSREMM/S220/Nick.jpg'/></author><thr:total>3</thr:total></entry></feed>
